私はVNCサーバー(mintのvnc4server)をセットアップしており、~/.vnc.
にデフォルトのxstartupファイルがあります。twm
ウィンドウマネージャーを使用しています。 VNCサーバーに接続すると、正常に認証されて端末が表示されますが、プロンプトが表示されません。マウスを使用してターミナルで新しいタブを開くことができますが、押されたキーのどれもターミナルアプリケーションによって操作されません。いくつかのランダムなキーを押してパケットをキャプチャすると、それらのキーがVNCサーバーボックスで「クライアントキーイベント」として受信されます。 VNCクライアントはキーボードイベントとマウスイベントを渡し、フレームバッファの更新を受信できるようですが、何らかの理由で、サーバーで実行されているアプリケーションがキーボードイベントを処理していないようです。
xstartupファイル:
~/.vnc$ ls
passwd rag-tos-laptop:1.log rag-tos-laptop:1.pid xstartup* xstartup.bak*
~/.vnc$ cat xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
twm &
さらに調査したところ、geditを起動すれば作業できる(文章を入力できる)ことがわかりました。これは、任意の端末(+ Shell)での作業にのみ問題があるようです。 xstartupでgnome-terminalを起動しても、VNCビューアでシェルを取得できません。さらに診断情報:
~/.vnc$ ps --ppid 3334 -o pid,ppid,stat,cmd
PID PPID STAT CMD
3342 3334 S gnome-pty-helper
3343 3334 Ss+ bash
~/.vnc$ ls -l /proc/3334/fd
total 0
lr-x------ 1 rag rag 64 Jan 5 23:25 0 -> /dev/null
l-wx------ 1 rag rag 64 Jan 5 23:25 1 -> /home/rag/.vnc/rag-tos-laptop:1.log
lrwx------ 1 rag rag 64 Jan 5 23:25 10 -> socket:[17343]
lrwx------ 1 rag rag 64 Jan 5 23:25 11 -> anon_inode:[eventfd]
lrwx------ 1 rag rag 64 Jan 5 23:25 12 -> /dev/ptmx
lrwx------ 1 rag rag 64 Jan 5 23:25 13 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan 5 23:25 14 -> socket:[19273]
lrwx------ 1 rag rag 64 Jan 5 23:25 15 -> anon_inode:[eventfd]
l-wx------ 1 rag rag 64 Jan 5 23:24 2 -> /home/rag/.vnc/rag-tos-laptop:1.log
lrwx------ 1 rag rag 64 Jan 5 23:25 3 -> socket:[19263]
lrwx------ 1 rag rag 64 Jan 5 23:25 4 -> socket:[19267]
lrwx------ 1 rag rag 64 Jan 5 23:25 5 -> anon_inode:[eventfd]
lrwx------ 1 rag rag 64 Jan 5 23:25 6 -> anon_inode:[eventfd]
lrwx------ 1 rag rag 64 Jan 5 23:25 7 -> socket:[20165]
lrwx------ 1 rag rag 64 Jan 5 23:25 8 -> socket:[17342]
lrwx------ 1 rag rag 64 Jan 5 23:25 9 -> anon_inode:[eventfd]
~/.vnc$ ls -l /proc/3343/fd
total 0
lrwx------ 1 rag rag 64 Jan 5 23:23 0 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan 5 23:23 1 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan 5 23:23 2 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan 5 23:25 255 -> /dev/pts/4
私はまったく同じ問題を抱えていました。無駄のない軽量なTWMを使用することを好みます。 Linux Mintボックスは私のホームサーバーであり、とにかくGUIツールを必要とすることはめったにありません。私がそれに行っていることのほとんどすべてはコマンドラインのものです-たくさんのスクリプトが走っています。
これが私がしたことです:
#!/bin/sh
exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic & #!/bin/sh
/usr/bin/xterm -geometry 80x24+10+10 -ls -title "xterm" &
/usr/bin/xterm -geometry 80x24+200+200 -ls -T "xterm" &
twm &
つまり、mate-terminal、gnome-terminal、x-terminal-emulatorではなく、xtermを使用します。
なぜ他の人が動かないのか分かりませんが、xtermには満足しています。 1つのウィンドウで複数のシーズ/タブを実行しているようには見えませんが、xterm&と入力するだけで同じウィンドウで新しいセッションを開くことで同じことができます。
を使用してカットアンドペースト Shift-Ctrl-C そして Shift-Ctrl-Vも機能しませんが、テキストをマウスで強調表示してからターゲットウィンドウに移動し、マウスの中央ボタン(または左と右を同時に)を押して貼り付けることで、同じことができます。これは、ラップトップのvncviewerウィンドウから同じラップトップのFirefoxブラウザウィンドウに、上記のxstartupファイルを貼り付けた方法です。サーバー上のxterm間でも同じ方法が機能します。
注:-title
引数は無視されます。繰り返しますが、理由はわかりません。