vino(vino-server) が入っている事 システム→設定→デスクトップの共有 を設定する。 ※vinoの通信の暗号化を無効にする(vinoの暗号は特殊なのでOFFにしないとつながらない) $ gsettings set org.gnome.Vino require-encryption false を実行(設定)する。 現在の設定を確認するには、 $ gsettings get org.gnome.Vino require-encryption クライアントには、 xvnc4viewer が使える。 =============================================================================================== <Num-Lockキー問題> EpgRec-server(Linux Mint 17.1 vino-server)を、xvnc4viewer でリモートして、テンキーを使うと、 mate-settings-daemon プロセスが、CPU を占領する異常が発生する。 調べた所、vnc から Num-Lock キーを送ると、mate-settings-daemon 内の msd-keyboard-manager が、Num-Lock の状態を保持しようとするが、うまく処理できず無限ループに入ってしまう模様。 テンキーを押すと、"KP_**" というコードが送られ、Num-Lock キーと同時押ししたことになるので、症状が出る。 テンキーを使わなように気をつけていても、無意識に使ってしまって、症状を出してしまう。 録画サーバーなので、再起動は避けたく、mate-settings-daemon を kill するが、デスクトップのテーマが 無効になったりする。 ↓ ここのフォーラム(英語)で、msd-keyboard-manager.c の修正方法が書かれているが、実施してもダメだった。 https://github-com.translate.goog/mate-desktop/mate-settings-daemon/issues/57?_x_tr_sl=en&_x_tr_tl=ja&_x_tr_hl=ja&_x_tr_pto=sc Linux Mint 17.1 MATE の場合レビジョンは、mate-settings-daemon_1.8.2-0+rebecca 。 レビジョン違いは、依存関係が満たせずコンパイルできない。 同様に、レビジョン違いのバイナリーはインストールできない。 <対策> xmodmap で対策を取った。 xmodmap は、X環境のキーマッパー。 テンキー(0〜9,.,/,*,-,+,Enter)のマッピングを変更する。 Num-Lockキーは、変更するとなぜかデスクトップの操作に影響するので、変えない。 なので、Num-Lockキーを押すとまだ不具合はでるが、数字と記号は使える様になる。 ■)vnc 接続用シェルスクリプトを作り、vnc を使うときのみキーマップを変更し、vnc 終了でキーマップを戻すようにする。    ※メニューに登録する時は、アプリケーションとして登録すればOK ---(vnc-EpgRec.sh)-------------------------------------------------------------------------- #!/bin/bash xmodmap ~/.Xmodmap_vnc xvnc4viewer EpgRec xmodmap ~/.Xmodmap_default -------------------------------------------------------------------------------------------- ■)キーの、キーコードを知るコマンド(xev) $ xev キー、クリック入力ウィンドウが開いたらその中で、キー、マウスを操作すると情報が表示される。 押す、離す、それぞれのイベント毎に情報が表示される。 終了は、端末内で、Ctrl+C ---(例)------------------------------------------------------------------------------------- KeyPress event, serial 38, synthetic NO, window 0x4000001, root 0x6e, subw 0x0, time 5322373, (632,644), root:(635,696), state 0x0, keycode 38 (keysym 0x61, a), same_screen YES, XLookupString gives 1 bytes: (61) "a" XmbLookupString gives 1 bytes: (61) "a" XFilterEvent returns: False -------------------------------------------------------------------------------------------- キーコードのみを知りたければ $ xev|grep keycode ---(例)------------------------------------------------------------------------------------- state 0x0, keycode 38 (keysym 0x61, a), same_screen YES, -------------------------------------------------------------------------------------------- ■)戻す用の、キーマップ(~/.Xmodmap_default)を作る (1)現在のキーコードを保存する。 $ xmodmap -pke > ~/.Xmodmap_default (2)修飾キーの設定を追加 $ xmodmap >> ~/.Xmodmap_default ---(出力例)----------------------------------------------------------------------- keycode 8 = keycode 9 = Escape NoSymbol Escape  〜 (中略)  〜 keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab keycode 64 = Alt_L Meta_L Alt_L Meta_L keycode 65 = space NoSymbol space keycode 66 = Eisu_toggle Caps_Lock Eisu_toggle Caps_Lock keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 keycode 77 = Num_Lock NoSymbol Num_Lock keycode 78 = Scroll_Lock NoSymbol Scroll_Lock keycode 79 = KP_Home KP_7 KP_Home KP_7 keycode 80 = KP_Up KP_8 KP_Up KP_8 keycode 81 = KP_Prior KP_9 KP_Prior KP_9 keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode keycode 83 = KP_Left KP_4 KP_Left KP_4 keycode 84 = KP_Begin KP_5 KP_Begin KP_5 keycode 85 = KP_Right KP_6 KP_Right KP_6 keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode keycode 87 = KP_End KP_1 KP_End KP_1 keycode 88 = KP_Down KP_2 KP_Down KP_2 keycode 89 = KP_Next KP_3 KP_Next KP_3 keycode 90 = KP_Insert KP_0 KP_Insert KP_0 keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift keycode 93 = keycode 94 = less greater less greater bar brokenbar bar keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 keycode 97 = backslash underscore backslash underscore keycode 98 = Katakana NoSymbol Katakana keycode 99 = Hiragana NoSymbol Hiragana keycode 100 = Henkan_Mode NoSymbol Henkan_Mode keycode 101 = Hiragana_Katakana Romaji Hiragana_Katakana Romaji keycode 102 = Muhenkan NoSymbol Muhenkan keycode 103 = keycode 104 = KP_Enter NoSymbol KP_Enter keycode 105 = Control_R NoSymbol Control_R keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab  〜 (中略)  〜 keycode 254 = keycode 255 = xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock Eisu_toggle (0x42) control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb) --------------------------------------------------------------------------------- (3)修飾キーの部分を設定用に編集する。 修飾キーは、割り当てる前に修飾キーを空にする必要があります。 ! がコメントです。 ---(~/.Xmodmap_default 例)------------------------------------------------------- keycode 8 = keycode 9 = Escape NoSymbol Escape  〜 (中略)  〜 keycode 254 = keycode 255 = clear shift clear lock clear control clear mod1 clear mod2 clear mod3 clear mod4 clear mod5 add shift = Shift_L Shift_R add lock = Eisu_toggle add control = Control_L Control_R add mod1 = Alt_L Alt_R Meta_L add mod2 = Num_Lock !add mod3 add mod4 = Super_L Super_R Super_L Hyper_L add mod5 = ISO_Level3_Shift Mode_switch --------------------------------------------------------------------------------- ■)vnc 用のキーマップ(~/.Xmodmap_vnc)を作る   全てのキーコードを記述する必要はない。テンキーパッドから"KP_**"を無くす。 ---(~/.Xmodmap_vnc 例)----------------------------------------------------------- keycode 63 = asterisk keycode 79 = 7 keycode 80 = 8 keycode 81 = 9 keycode 82 = minus keycode 83 = 4 keycode 84 = 5 keycode 85 = 6 keycode 86 = plus keycode 87 = 1 keycode 88 = 2 keycode 89 = 3 keycode 90 = 0 keycode 91 = period keycode 104 = Return keycode 106 = slash ---------------------------------------------------------------------------------