コマンドラインからリモートVNCを有効にしますか?


66

Ubuntu 10.04を実行しているコンピューターが1台あり、デフォルトのVNCサーバーであるVinoを実行しています。

VNCクライアントを実行している2番目のWindowsボックスがありますが、X11機能はありません。WindowsホストからUbuntuホストにsshしましたが、UbuntuホストでVNCアクセスを有効にするのを忘れました。

Ubuntuホストで、UbuntuコマンドラインからVNC接続を有効にする方法はありますか?

更新:

以下で@koanheadが言っているように、manページはなくvino(たとえばman -k vinoinfo vino何も返さない)、vino --helpヘルプは表示されません)。

回答:


25

走るだけ

/usr/lib/vino/vino-server

仕事をする必要があります。

サーバーにアクセスしたら、自動起動アプリに追加して、常に起動されるようにすることをお勧めします。

おそらくいくつかの設定を変更したいでしょう:

vino-preferences

リモートマシンでvino-preferenceを実行するときは十分注意してください。「他のユーザーにデスクトップの制御を許可する」のチェックを外すと、チェックバックできなくなります。

または編集するには:

~/.gconf/desktop/gnome/remote_access/%gconf.xml

ここにサンプルファイル:

<?xml version="1.0"?>
<gconf>
    <entry name="vnc_password" mtime="1289267042" type="string">
        <stringvalue>cXdlcnR5</stringvalue>
    </entry>
    <entry name="view_only" mtime="1289262982" type="bool" value="false"/>
    <entry name="prompt_enabled" mtime="1254965869" type="bool" value="false"/>
    <entry name="authentication_methods" mtime="1289267034" type="list" ltype="string">
        <li type="string">
            <stringvalue>vnc</stringvalue>
        </li>
    </entry>
    <entry name="enabled" mtime="1289263574" type="bool" value="true"/>
</gconf>

パスワードはbase64でエンコードされていることに注意してください。このファイルのパスワードはqwertyです。いくつかのフォーラムで、人々はそれを無事に変更したことがわかりましたが、問題がありました。

ここにオンラインのbase64エンコーダー:

http://www.motobit.com/util/base64-decoder-encoder.asp


6
実行するときに、私は次のエラーを得た/usr/lib/vino/vino-serverNo protocol specified ** (vino-server:2040): WARNING **: Could not open X display
トゥアンアンホアン-Vuの

@hvtuananh共有できるディスプレイはありますか?それに応じてevd変数DISPLAYを設定していますか?私の答えは、デフォルトですでにディスプレイが起動していることを前提としていますが、文字列がなく、コマンドラインを使用して使用可能にします。
ギヨームコテ

1
これは(少なくとも)13.10では機能しません。代わりに、ouzmoutousによる回答を参照してください。
エミールStyrke 14年

誰かが問題を抱えている場合は、バグに気づく:bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663を
Rmano

3
vino-preferences: command not found
エンドリス

28

簡潔な答え:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/enabled true

受け入れられた答えが言及しているように、リモートマシンでvinoが開始されていない場合は、

/usr/lib/vino/vino-server

長い回答と詳細情報:

前述のように、現在の組み込みリモートアクセスサーバー(vino)の設定のサブセットは、vino-preferencesから確認できます。gconfフラグの完全なリストはgconf-editor、/ desktop / gnome / remote_accessの下にリストされているコマンドで確認できます。このコマンド(またはそのバリエーション)を使用して、他のremote_accessキーも表示できます。

gconftool-2 -a /desktop/gnome/remote_access

(何らかの理由で、-R動作します。)

--long-docsarg を介してスキーマキーのドキュメントを取得することもできます。

たとえば、alternative_portキーの場合:

gconftool-2 --long-docs /desktop/gnome/remote_access/alternative_port

       The port which the server will listen to if the
       'use_alternative_port' key is set to true.
       Valid values are in the range from 5000 to 50000.

したがって、たとえば、コマンドラインを使用してデフォルトポートを変更する方法は次のとおりです。

gconftool-2 --set --type=bool /desktop/gnome/remote_access/use_alternative_port true
gconftool-2 --set --type=int /desktop/gnome/remote_access/alternative_port 5999

gconftoolは、指定されたディレクトリの下にキーを提供します。「remote_access」セクションは次のとおりです。

gconftool-2 -a /desktop/gnome/remote_access
 use_upnp = false
 vnc_password = 
 authentication_methods = [vnc]
 network_interface = 
 require_encryption = false
 disable_background = false
 enabled = true
 use_alternative_port = false
 mailto = 
 disable_xdamage = false
 lock_screen_on_disconnect = false
 icon_visibility = always
 view_only = false
 prompt_enabled = true
 alternative_port = 5900

/ desk / gnome / remote / accessの下にすべてのスキーマドキュメントを一覧表示する方法は次のとおりです(コマンドライン/ bin / bashを使用)。

for key in ` gconftool-2 -a /desktop/gnome/remote_access | awk '{print $1}'  ` ; do echo $key ; gconftool-2 --long-docs /desktop/gnome/remote_access/$key ; done

/usr/lib/vino/vino-serverSSHで動作しない、と言うCannot open display:
endolith

24

また、vino-preferencesに入らずに、コマンドラインでvinoを有効にしたいと考えました。

開始したとき/usr/lib/vino/vino-server、デスクトップ共有サービスが有効になっていないと表示されます。

Unity gconftoolではもう使用できません。を介して行う必要がありますgsettings

そのため、最初にvinoを有効にします。

gsettings set org.gnome.Vino prompt-enabled true

次に、vinoを起動します。

/usr/lib/vino/vino-server

これで、コンピューターにリモートでアクセスできます。

Vinoで利用可能なすべての設定を確認する場合:

gsettings list-keys org.gnome.Vino

2
SSH経由またはDISPLAY環境変数が設定されていないテキストモード端末からこれを行うには、setコマンドの前にDISPLAY =:0を追加する必要があります。そうしないと、「dconfへの変更のコミットに失敗します」。
エミール・スティルク14年

それで、上記に加えて、私はしなければなりませんでしたexport DBUS_SESSION_BUS_ADDRESS=...。この変数値を取得するには、実行中のプロセスの環境からコピーしました(pgrep -u myUserName -lプロセスリストを取得するには、番号を選択してからtr '\0' '\n' < /proc/NUMBER/environ | grep DBUS)。次に、返された値でDBUS_SESSION_BUS_ADDRESSをエクスポートします。その後、コマンドが実行されました。
RJファルコナー

最初のコマンドで次のことが
わかり

19

Ubuntu 14.04では、次のバリエーションが機能していることがわかりました。

export DISPLAY=:0
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server

これがうまくいかない場合は、お使いのXセッションが以外で実行されている可能性があります:0ので、迅速にps aux | grep X表示する必要があります:1かを:2


1
export DISPLAY=:0gsettingsコマンドは次のものなしで失敗するため、で開始する必要がありますfailed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY
vaab 14年

最良の答え。しかし、リブート時にVinoをどのように自動起動させるのでしょうか?
プフェレル

これにより、vncポートは開いていますが、vncクライアントは永久に停止します。問題は何ですか?
デビッドポルタベラ

VNCクライアントがデスクトップに接続しない場合、おそらく暗号化がアクティブになっているためです。-ログアウトして再度ログインするたびに、暗号化を再度無効にする必要があります-これらのコマンドをシェルに入れて、デスクトップの起動時に呼び出すことができます。Ubuntuデスクトップで「スタートアップアプリケーションの設定」を探します。
ハイメ

13

なぜ、この厳しい世界で良いことすべての愛のために、vinoまたはvino-serverの、または dpkg -L vinoの出力にリストされているコマンドのいずれにも、男性エントリがないのですか?さらに言えば、少なくとも関連するコマンドのマニュアルページを省略したパッケージを Ubuntuシステムにインストールする必要があるのはなぜですか?了解しました。私がこれまでに見つけた最良の答えはこちらです:http : //ubuntuforums.org/archive/index.php/t-266981.html

これが本当に役立つことを願っていますし、今後、Ubuntuコミュニティがこれらすべての孤立コマンドを文書化することを望みます。「使いやすさ」は、コマンドラインを放棄することを意味するものではなく、簡単にアクセスできるドキュメントを放棄することを意味するものでもありません。</ grumble>


/ usr / lib / vino / vino-serverを実行してみてください。ヘルプやドキュメントがほとんどない場合は、vino-server --help-allを使用します。
koanhead

4
別のソースへのリンクは不適切であり、そのソースは将来オフラインになる可能性があり、回答は無効になります。
フィルハネン

暴言のための余分なポイント。
ニックスA.ヴァンアンマーズ

これは/ usr / libにあるため、ユーザーが通常実行するコマンドではないため、マンページは必要ありません…少なくともそれが理由です。FWIW、私はあなたに同意します。
マティアスユリックス

9

これは、ディスプレイに関するエラーなどのため、sshを介してリモートで動作しないようです。私がやったことは次のとおりです。

export DISPLAY=:0.0 && /usr/lib/vino/vino-server

今ほとんど動作します!


はい-最後に!なしexport DISPLAY=:0.0では、私が取得していた「リモート」デスクトップは、実際にはローカルデスクトップでした(私はを使用していますssh -X)。また、を実行する前にvino-preferences(または他の回答で提案されているシェルコマンド)を介して「他のユーザーを許可」する必要があります。注:正しくセットアップされていれば、おそらくすべてのVNCクライアントがこれで動作しますが、最も賢明なUIを提供しているようです。/usr/lib/vino/vino-servervinagre
-nobar

5

次のスクリプトを使用して、リモートssh接続からUbuntu 16.04の新規インストールを設定できました。

#!/ bin / bash
DISPLAY =:0をエクスポート
読み取り-e -p "VNCパスワード:" -i "ubuntu"パスワード
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サービスlightdm restart

引用符は、文字列設定(引用符内の単一ティック)にとって重要です。dconfを記述できるようにするには、XWindowsにアクセスする必要があるため、エクスポートDISPLAYパーツが必要です。この後、VNCに接続するには、実際のUbuntuマシンのデスクトップにまだログインする必要があると思います。dumpコマンドは、すべての設定が保持されていることを確認するためのものです。実際には必要ありません。

必要に応じて、常に表示を維持したい場合にこれを行うことができます。

dconf write / org / gnome / desktop / screensaver / lock-enabled false
dconf write / org / gnome / desktop / screensaver / ubuntu-lock-on-suspend false
dconf write / org / gnome / desktop / session / idle-delay "uint32 0"

1

Linux Mint 15を使用している人は、次の操作を行うことで、これをすべてMintBox2で動作させることができました。ssh + vino + Tight VNCでMintBox 2を完全にヘッドレスで実行できるようになりました。

LinuxMint MintBox2マシンへのssh接続を介してputtyに入力します。

sudo su
[enter your root password]
echo $DISPLAY
export DISPLAY=:0.0
startx &   }This loads up LinuxMint on screen as "root" user
[press the return key again to get back to BASH prompt]

LinuxMintターミナル(パテではない)で(これは必要ありません)必要に応じて、次のように入力します。

echo $DISPLAY

=> 出力:1を取得します [つまり、これが原因で多くのトラブルが発生しました。つまり、これは0:0ではありません!!!!!!!!!!]

ここで、パテに戻って次のように入力します。

echo $DISPLAY
export DISPLAY=:1
/usr/lib/vino/vino-server

=>ロードされ、window 7 Tight VNC Viewerを使用してLinux Mintなどにアクセスできます。

これが誰かに役立つことを願っています...


1

18.04アップグレード後もxubuntuで同じ問題が発生しました。最初にvinoをインストールします。鉱山は予告なしにアップグレード時に削除されました。また、vinoをインストールした後でも、コマンドvino-preferencesは機能しません。

簡単な回避策は次のとおりです。

  • dconf-editorをインストールします

    sudo apt install dconf-editor 
    
  • 次に、それを開いて、およびに/org/gnome/desktop/remoteアクセスしturn off encryptionます。

dconf-editorで設定できる他のリモートオプションもいくつかあります。ただし、vinoをインストールするまで、リモートアクセスはdconf-editorに表示されません。

誰かがvino-preferencesに何が起こったのか説明できるといいのですが。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.