Linux環境をセットアップするためにいくつかの自動化スクリプトをセットアップしようとしています。ユーザーが実際にGUIを使用せずにリモートデスクトップ共有を有効にしたいのですが。私の計画は、可能であれば、ファイルを編集してこれを自動的に行うバッチスクリプトを作成することです。
GnomeでFedora 16を使用しています。
私は以下を達成したいと思います: http://docs.fedoraproject.org/en-US/Fedora/13/html/User_Guide/chap-User_Guide-Sharing_your_desktop.html
どのファイルを編集するかについてのヒントは大歓迎です。
私があなたを正しく理解している場合:gnomeまたは他の環境をそのままリモートで共有したい場合、これを達成する最も簡単な方法はx11vncを使用することです。ユーザーがログインした後の実際のX11サーバーを共有します。
x11vnc -display :0
または、ログイン後にvncサーバーを実行する場合は、次のスクリプトで自動化できます。
#!/bin/bash
/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd PASSWORD -display :0 -forever -o /var/log/x11vnc.log -bg
このスクリプトをgnomeのスタートアッププログラムに配置して、ユーザーがログインしたときに自動的に実行されるようにすることができます。セッションのPASSWORD変数はファイルを読み取ることができるすべての人にはっきりと見え、パスワードを知っている人は誰でもvncセッションに接続できるため、このスクリプトは安全ではないことに注意してください(この場合のパスワードは、リモートで接続するときにWordが8つのシンボルを要求します)。より安全な接続が必要な場合は、vnc sshトンネリングの方法を検索してください。
リモート接続の私のお気に入りの方法は、ヴィーノを使用することです。これはx11vncに似ていますが、セットアップははるかに簡単です(通常はGUIを使用しています)。 Vinoを有効にすると、アクティブなセッション(現在ログインしているセッション)のvnc接続をブートごとに受け入れるようにgnomeが設定されます。画面で開いているすべてのウィンドウまたはアプリケーションは、vnc接続で表示できます。
通常の場合(GUIなどを使用)、次のコマンドを実行して設定するだけで十分です。
$ vino-preferences
GUIがない場合は、gsettings
を使用して設定を変更する必要があります。何かのようなもの
$ gsettings set org.gnome.Vino enabled true
$ gsettings set org.gnome.Vino view-only true
$ gsettings set org.gnome.Vino authentication-methods "['vnc']"
$ gsettings set org.gnome.Vino Prompt-enabled false
$ gsettings set org.gnome.Vino require-encryption true
正常な値でリモートデスクトップを有効にします。 dconf-editor
を開いてdesktop.gnome.remote-access
に移動すると、オプションの完全なリストとその効果の説明を確認できます。
コンピューターに複数のユーザーがいる場合は、ユーザーごとにVinoをセットアップする必要があります。
リモートセッションに接続するには、標準のvncクライアントを使用できます。ただし、ルーターのファームウェアから接続先のコンピューターにポート5900を転送する必要があります。または、これらのコンピューターへのssh接続も許可している場合は、sshトンネル経由でvncを使用する方が簡単で安全です。ローカルマシンから:
ssh -L 5900:localhost:5900 <remote server>
次に、vncクライアントを開いて127.0.0.1:5900に接続し、リモートサーバーのユーザー名とパスワードを使用してログインします。
デスクトップにアクセスする必要がある場合、通常はSSHで「x11vnc」を実行し、VNCで接続します。
次のスクリプトを使用して、リモートssh接続からUbuntu 16.04の新規インストールを設定できました。
#!/bin/bash
export DISPLAY=:0
read -e -p "VNC Password: " -i "ubuntu" password
dconf write /org/gnome/desktop/remote-access/enabled true
dconf write /org/gnome/desktop/remote-access/Prompt-enabled false
dconf write /org/gnome/desktop/remote-access/authentication-methods "['vnc']"
dconf write /org/gnome/desktop/remote-access/require-encryption false
dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $password | base64)\'\"
dconf dump /org/gnome/desktop/remote-access/
Sudo service lightdm restart
引用符は、文字列設定(引用符内の単一ティック)にとって重要です。
dconf
が書き込みできるようにするには、XWindowsへのアクセスが必要です。そのため、export DISPLAY
パーツが必要です。この後も、VNCに接続するには、実際のUbuntuマシンのデスクトップにログインする必要があると思います。
Dumpコマンドは、すべての設定が有効になったことを確認するためだけにあり、実際には必要ありません。