Vino
Vino は実際のデスクトップにリモート接続できる VNC (Virtual Network Computing) サーバーです。GNOME デスクトップ環境のデフォルトコンポーネントになっています。
インストール
GNOME
公式リポジトリから vino パッケージをインストールしてください。
GNOME を使っている場合、GNOME を再起動する必要があり、リモートデスクトップ機能を有効にしたときに vino-server
が自動で起動するようになります。リモートデスクトップ機能は Settings > Sharing から有効にできます。ただし NetworkManager をインストールして動作させる必要があります。
他のデスクトップ環境
バージョン 3.9.2 現在、Vino にはスタンドアロンの設定ダイアログが存在しません (bug 700070 を参照)。したがって GNOME コントロールセンターがないと設定ができません。
設定ダイアログが存在する最後のバージョンである vino38AUR パッケージをインストールすれば vino-preferences
コマンドで設定できます。
設定
gnome-control-center で vino の設定をすることができます。
TightVNC や Remmina などの VNC ビューアを使ってデスクトップにリモートで接続することが可能です。NAT デバイスを越える場合や iptables を通して接続をするにはポート 5900 を忘れずに開放して下さい。
セキュリティや暗号化に関する問題が発生する場合は以下を試して下さい:
$ gsettings set org.gnome.Vino require-encryption false
Openbox などのスタンドアロンのウィンドウマネージャを使っていて vino が動作しないときは、vino-server
を手動で起動したりウィンドウマネージャの自動起動スクリプトにコマンドを追加することができます:
# /usr/lib/vino/vino-server &
ヘッドレスサーバーで実行
Vino を使って VNC 経由でヘッドレスサーバーをグラフィカルなデスクトップで管理することができます。この場合、xf86-video-dummy などのグラフィックドライバーをインストールして設定してください。Xdummy ドライバーを使用する xpra のサンプル xorg.conf を使うと良いでしょう。そして起動時に X を実行するようにサーバーを設定することでリモートからユーザーアカウントを使うことができるようになります。ユーザーのホームディレクトリに以下のようなデスクトップエントリを作成して Vino がデスクトップ環境と一緒に自動起動するように設定してください:
~/.config/autostart/vino-server.desktop
[Desktop Entry] Type=Application Name=Vino VNC server Exec=/usr/lib/vino/vino-server NoDisplay=true
次に、グラフィカルなデスクトップユーザーで以下のコマンドを実行して Vino が VNC の接続を許可するようにします:
$ dbus-launch gsettings set org.gnome.Vino prompt-enabled false
Polkit を使ってサスペンドやハイバネートの権限を取り消したほうがよいでしょう。
GNOME デスクトップ環境の場合、以下のオプションを使用することを推奨します:
$ dbus-launch gsettings set org.gnome.desktop.lockdown disable-user-switching true $ dbus-launch gsettings set org.gnome.desktop.lockdown disable-log-out true $ dbus-launch gsettings set org.gnome.desktop.interface enable-animations false
VNC で使用される rfb
ポートをブロックしないようにファイアウォールを設定するのを忘れないでください。セキュアな認証を行う必要がある場合 (インターネット上で特権ユーザーへのアクセスを許可する場合など)、rfb
ポートのブロックを解除するかわりに SSH や stunnel を使って VNC プロトコルをトンネリングしてください。stunnel を使用する場合、パスワードを設定してください:
$ dbus-launch gsettings set org.gnome.Vino authentication-methods "['vnc']" $ dbus-launch gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)
vinagre などの VNC クライアントでサーバーにログインすることができます。
上記の設定を使って複数のリモートユーザーに自動的にログインすることもできます。例えば xlogin-gitAUR のサービスファイルを /etc/systemd/system/
に複数コピーして、別々の X11 ディスプレイと仮想端末に別々のユーザーでログインするように修正します。Vino では、各ユーザーの VNC サーバーが別々のポートを listen するように設定できます:
$ dbus-launch gsettings set org.gnome.Vino alternative-port 5910 $ dbus-launch gsettings set org.gnome.Vino use-alternative-port true