Orange Pi 3 TightVNC設定ファイル

TightVNCは動作も軽快で設定も比較的容易なことからよく利用しています。(RaspbianではプリインストールされているRealVNCとは共存できません)

通常は少し小さめのウインドウサイズで起動していますがOPi3では動画の再生もRPi3よりもスムーズに再生が可能です。
作業用途、目的によってウインドウサイズを切り替えてみようと思います。
設定ファイルはOrange Pi 3,Raspberry PI Zeroで確認していますがLinux系であれば共通だと思います。

設定ファイル(~/.vncrc)


実行コマンドvncserverは/etc/alternativesに登録されています。
alternativesでは/usr/bin/tightvncserverにリンクを張っています。
tightvncserverはperlで書かれたスクリプトになっています。
optionを渡して実際起動するのはXtightvncですね。
Xtightvncは~/.vnc/xstartupを読みにいきます。


/usr/bin/tightvncserverをつらつら眺めてると40行目あたりにデフォルトのoption設定があります。
さらに80行目あたりで/etc/vnc.confがあれば読んで最終的にホームディレクトリの~/.vncrcを適用します。
必要なoptionは~/.vncrcに記述して実行コマンドは $ vncserver :1だけで行けそうです。

当サイトでは以下の3行を記述しています。
~/.vncrc

$geometry     = "840x528";
$depth        = 24;
$desktopName  = "Orange Pi 3";

pythonランチャーに追加
~/bin/shutdown.pyに追記(Button 3,4だけ掲載 ほかZeroの記事参照)

#!/usr/bin/python3
from tkinter import *
from tkinter import ttk 
import subprocess
import time

root = Tk()
root.title('Shutdown Menu')
style = ttk.Style()
style.theme_use('default') #('clam', 'alt', 'default', 'classic')

# Frame as Widget Container
frame1 = ttk.Frame(
    root,
    padding=5)
frame1.grid()

# Button 3 monitorl
def monitorl():
    with open('/home/pi/.vncrc', 'r') as f:
        s = f.read()
        s = s.replace("840x528","1020x632")
    with open('/home/pi/.vncrc', 'w') as f:
        f.write(s)
    time.sleep(1)
    subprocess.run("vncserver -kill :1 && sleep 1 && vncserver :1", shell=True)
icon3 = PhotoImage(file='~/.icons/monitor-L.png')
button3 = ttk.Button(
    frame1,
    image=icon3,
    command=monitorl)
button3.grid(row=2,column=1)

# Button 4 monitors
def monitors():
    with open('/home/pi/.vncrc', 'r') as f:
        s = f.read()
        s = s.replace("1020x632","840x528")
    with open('/home/pi/.vncrc', 'w') as f:
        f.write(s)
    time.sleep(1)
    subprocess.run("vncserver -kill :1 && sleep 1 && vncserver :1", shell=True)
icon4 = PhotoImage(file='~/.icons/monitor-S.png')
button4 = ttk.Button(
    frame1,
    image=icon4,
    command=monitors)
button4.grid(row=2,column=2)

root.mainloop()

上記の例では置き換えをしているのでmonitorl or monitorsで指定した値のどちらかを~/.vncrcに記載する必要があります。(プログラム次第)
切替時はX上で実行しているアプリケーションは終了します。
切り替え後は再度vncviewerからログインします。

当サイトのデイスプレイはXGA(1024×768)なので1020×632を指定しています。1020以上はスクロールバーが出現

コピーペースト

TightVNCでは日本語(マルチバイト)のコピーペーストは不可ですね。
それ以外は(ほとんど)下記の設定で通常の選択コピー、中ボタンペーストが可能です。
TightVNC copy/paste between local OS and Raspberry Pi?
~/.vnc/xstartup

autocutsel -s CLIPBOARD -fork
autocutsel -s PRIMARY -fork

日本語のコピーをしたい場合はメーラー経由(下書き)でやっています。

xterm(~/.Xresources)

xterm(~/.Xresources)の設定は環境でかなり違ってくると思いますが当サイトでは以下の設定でRaspberryPi3を含めてうまく動作(表示)しています。(フォントサイズ、カラースキームは任意で)

XTerm*utf8              : 1
XTerm*locale            : false
XTerm*faceName          : monospace
XTerm*faceSize          : 11.5
XTerm*fontDoublesize    : true
XTerm*saveLines         : 2000
XTerm*geometry          : 80x24
XTerm*charClass: 33:48,37:48,45-47:48,38:48,64:48

XTerm*background: #222222
XTerm*foreground: #DDDDDD
XTerm*color0:     #333333
XTerm*color1:     #A94952
XTerm*color2:     #83A949
XTerm*color3:     #A99F49
XTerm*color4:     #4983A9
XTerm*color5:     #A94983
XTerm*color6:     #49A99F
XTerm*color7:     #AAAAAA
XTerm*color8:     #666666
XTerm*color9:     #ED6975
XTerm*color10:    #B8ED69
XTerm*color11:    #EDE169
XTerm*color12:    #69B8ED
XTerm*color13:    #ED69B8
XTerm*color14:    #69EDE1
XTerm*color15:    #DDDDDD