Aktifkan VNC jarak jauh dari baris perintah?

66

Saya memiliki satu komputer yang menjalankan Ubuntu 10.04, dan menjalankan Vino , server VNC default.

Saya memiliki kotak Windows kedua yang menjalankan klien VNC, tetapi tidak memiliki kemampuan X11. Saya ssh'd ke host Ubuntu dari host Windows, tapi saya lupa untuk mengaktifkan akses VNC pada host Ubuntu.

Di host Ubuntu, apakah ada cara bagi saya untuk mengaktifkan koneksi VNC dari commandline Ubuntu?

Memperbarui:

Seperti yang dikatakan @koanhead di bawah ini, tidak ada halaman manual untuk vino(mis. man -k vinoDan info vinotidak mengembalikan apa pun), dan vino --helptidak menunjukkan bantuan apa pun).

Stefan Lasiewski
sumber

Jawaban:

25

Hanya berlari

/usr/lib/vino/vino-server

harus melakukan pekerjaan.

Setelah Anda memiliki akses ke server Anda, saya sarankan Anda menambahkannya ke Aplikasi Autostarted sehingga selalu dimulai.

Anda mungkin ingin mengubah beberapa pengaturan dengan:

vino-preferences

berhati-hatilah ketika Anda menjalankan preferensi-vino pada mesin jarak jauh, jika Anda menghapus centang "Izinkan pengguna lain mengontrol desktop Anda", Anda tidak akan dapat memeriksanya kembali.

atau mengedit:

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

Di sini file sampel:

<?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>

Hati-hati, kata sandi dienkode base64. Untuk file ini, kata sandinya adalah qwerty. Saya melihat di beberapa forum bahwa orang telah berhasil mengubahnya, tapi saya punya masalah dengannya.

Di sini sebuah base64 encoder online:

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

Guillaume Coté
sumber
6
Saya mendapat kesalahan berikut ketika menjalankan /usr/lib/vino/vino-server:No protocol specified ** (vino-server:2040): WARNING **: Could not open X display
Tuan Anh Hoang-Vu
@hvtuananh Apakah Anda memiliki tampilan yang dapat Anda bagikan? Apakah Anda memiliki DISPLAY variabel evd diatur sesuai? Jawaban saya berasumsi bahwa Anda sudah memiliki tampilan yang dimulai secara default, tetapi Anda tidak memiliki string dan menggunakan baris perintah untuk membuatnya tersedia.
Guillaume Coté
1
Ini tidak berfungsi di (setidaknya) 13.10. Lihat jawaban oleh ouzmoutous di bawah ini sebagai gantinya.
Emil Styrke
Jika seseorang memiliki masalah, perhatikan bug: bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663 .
Rmano
3
vino-preferences: command not found
endolith
28

Jawaban singkat:

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

seperti jawaban yang diterima menyebutkan, jika vino tidak dimulai pada mesin jarak jauh, gunakan

/usr/lib/vino/vino-server

Jawaban Panjang dan info lebih lanjut:

Subset pengaturan untuk server akses jarak jauh bawaan saat ini (vino) dapat dilihat, seperti yang disebutkan, dari preferensi vino. Daftar lengkap flag gconf dapat dilihat dengan gconf-editorperintah, terdaftar di bawah / desktop / gnome / remote_access. Anda juga dapat melihat kunci remote_access lainnya dengan perintah ini (atau variasi di atasnya):

gconftool-2 -a /desktop/gnome/remote_access

(Untuk alasan apa pun, -Rjuga akan berhasil.)

Anda juga bisa mendapatkan dokumentasi kunci skema melalui --long-docsarg.

Misalnya, untuk kunci 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.

Jadi, misalnya, inilah cara mengubah port default melalui baris perintah:

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 akan memberi Anda kunci di bawah direktori yang diberikan. Inilah bagian '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

Berikut adalah cara membuat daftar semua dokumen skema di bawah / desk / gnome / remote / access (melalui command-line / 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
belacqua
sumber
/usr/lib/vino/vino-servertidak bekerja dari SSH, katanyaCannot open display:
endolith
24

Saya juga ingin mengaktifkan vino dengan baris perintah tanpa masuk preferensi vino.

Ketika saya mulai /usr/lib/vino/vino-server, dikatakan bahwa saya tidak mengaktifkan layanan berbagi desktop.

Dengan Unity gconftooltidak dapat digunakan lagi. Kita harus melakukannya via gsettings.

Jadi, pertama, aktifkan vino:

gsettings set org.gnome.Vino prompt-enabled true

Kemudian mulai vino:

/usr/lib/vino/vino-server

Sekarang Anda dapat mengakses dari jarak jauh ke komputer Anda.

Jika Anda ingin melihat semua konfigurasi yang tersedia untuk Vino:

gsettings list-keys org.gnome.Vino
ouzmoutous
sumber
2
Untuk melakukan ini di atas SSH atau dari terminal mode teks di mana variabel lingkungan DISPLAY tidak menetap, Anda perlu menambahkan DISPLAY =: 0 ke perintah yang ditetapkan, jika tidak, Anda akan "gagal melakukan perubahan komit ke dconf".
Emil Styrke
Jadi selain di atas saya harus melakukannya export DBUS_SESSION_BUS_ADDRESS=.... Untuk mendapatkan nilai variabel ini, saya menyalin dari lingkungan proses yang sedang berjalan ( pgrep -u myUserName -luntuk mendapatkan daftar proses, pilih angka, lalu tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS). Kemudian ekspor DBUS_SESSION_BUS_ADDRESS dengan nilai yang dikembalikan. Kemudian perintah itu berlari.
RJFalconer
perintah pertama memberi saya: Tidak ada kunci seperti itu "diaktifkan"
stiv
19

Di Ubuntu 14.04, saya menemukan variasi berikut berfungsi untuk saya:

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

Jika ini tidak berhasil, sesi X Anda mungkin berjalan pada sesuatu selain :0, jadi quick ps aux | grep Xharus memperlihatkan a :1atau:2

Taeram
sumber
1
Anda harus mulai dengan export DISPLAY=:0sebagai gsettings perintah akan gagal tanpa: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY.
vaab
Jawaban terbaik sejauh ini. Tetapi bagaimana Anda membuat Vino mulai otomatis saat boot ulang?
pferrel
dengan ini, port vnc terbuka, tetapi klien vnc saya berhenti selamanya. apa yang bisa menjadi masalahnya?
David Portabella
jika klien VNC Anda tidak terhubung ke desktop, itu mungkin karena enkripsi tetap diaktifkan. - Setiap kali Anda log-out dan masuk lagi, Anda harus menonaktifkan enkripsi lagi - Anda dapat memasukkan perintah-perintah ini ke dalam shell dan menjalankannya ketika desktop dimulai. Cari "preferensi aplikasi Startup" di desktop Ubuntu Anda.
Jaime
13

Mengapa, demi cinta semua yang baik di dunia yang keras ini, apakah tidak ada entri manusia untuk vino atau vino-server atau untuk semua perintah yang tercantum dalam dpkg -L vinooutput? Dalam hal ini, mengapa paket apa pun harus diinstal pada sistem Ubuntu, yang menghilangkan halaman manual setidaknya untuk perintah yang relevan? Oke, bacalah. Jawaban terbaik yang saya temukan sejauh ini ada di sini: http://ubuntuforums.org/archive/index.php/t-266981.html

Saya sangat berharap ini membantu, dan saya berharap di masa depan komunitas Ubuntu mendokumentasikan semua perintah yatim ini. "Kemudahan penggunaan" tidak berarti meninggalkan baris perintah, dan itu tentu saja tidak berarti meninggalkan dokumentasi yang mudah diakses. </grumble>

koanhead
sumber
Coba jalankan / usr / lib / vino / vino-server. Untuk sedikit bantuan dan dokumen yang tersedia, gunakan vino-server --help-all.
koanhead
4
Menautkan ke sumber lain buruk, sumber itu bisa offline di masa depan dan jawaban Anda tidak lagi valid.
Phil Hannent
Satu poin tambahan untuk kata-kata kasar.
Marnix A. van Ammers
Itu ada di / usr / lib, jadi bukan perintah yang biasanya dijalankan oleh pengguna, jadi tidak perlu halaman manual ... setidaknya itulah alasannya. FWIW, saya setuju dengan Anda.
Matthias Urlichs
9

Ini tampaknya tidak berfungsi dari jarak jauh melalui ssh karena kesalahan tentang tampilan dan sebagainya. Inilah yang saya lakukan:

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

Sebagian besar berfungsi sekarang!

Will Bradley
sumber
Ya akhirnya! Tanpa export DISPLAY=:0.0, desktop "remote" yang saya peroleh sebenarnya adalah desktop lokal saya (saya gunakan ssh -X). Juga, perlu untuk "Izinkan pengguna lain" melalui vino-preferences(atau perintah shell yang disarankan dalam jawaban lain) sebelum berjalan /usr/lib/vino/vino-server. Catatan: Mungkin klien VNC bekerja dengan ini setelah diatur dengan benar, tetapi vinagretampaknya memberikan UI yang paling masuk akal.
nobar
5

Saya dapat mengatur instalasi Ubuntu 16.04 baru dari koneksi ssh jarak jauh dengan skrip berikut:

#! / bin / bash
export DISPLAY =: 0
baca -e -p "VNC Kata Sandi:" -i "ubuntu" kata sandi
dconf write / org / gnome / desktop / remote-access / enabled true
dconf write / org / gnome / desktop / remote-access / prompt-enabled false
dconf write / org / gnome / desktop / akses-jauh / metode otentikasi "['vnc']"
dconf write / org / gnome / desktop / remote-access / membutuhkan-enkripsi palsu
dconf write / org / gnome / desktop / remote-access / vnc-password \ "\ '$ (echo -n $ password | base64) \' \"
dconf dump / org / gnome / desktop / remote-access /
sudo service lightdm restart

Kutipan penting untuk pengaturan string mana pun (kutu tunggal di dalam tanda kutip). Untuk dconf agar dapat menulisnya perlu akses ke XWindows, oleh karena itu diperlukan bagian DISPLAY ekspor. Saya pikir Anda masih harus masuk ke desktop pada mesin Ubuntu yang sebenarnya untuk terhubung dengan VNC setelah ini. Perintah dump hanya ada di sana untuk mengkonfirmasi semua pengaturan berhasil, Anda tidak benar-benar membutuhkannya.

Secara opsional, Anda mungkin ingin melakukan ini jika Anda ingin selalu menampilkannya:

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"
Integrator
sumber
1

Bagi siapa pun yang menggunakan Linux Mint 15, saya dapat ini semua bekerja di MintBox2 saya dengan melakukan hal berikut. Saya sekarang dapat menjalankan MintBox 2 sepenuhnya tanpa kepala dengan: ssh + vino + VNC Ketat.

Ketik dempul melalui koneksi ssh ke mesin LinuxMint MintBox2:

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]

Sekarang, jika Anda suka (ini tidak perlu) pada terminal LinuxMint (mis. Tidak pada dempul) ketik:

echo $DISPLAY

=> Anda mendapatkan output dari: 1 [artinya ini menyebabkan saya banyak kesulitan untuk mencari tahu yaitu ini bukan 0: 0 !!!!!!!!!!]

Sekarang, kembali ke dempul dan ketik:

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

=> Sekarang dimuat & Anda dapat menggunakan jendela 7 Ketat VNC Viewer untuk mengakses Linux Mint dll

Saya harap ini membantu seseorang di luar sana ...

CMP
sumber
1

Saya memiliki masalah yang sama dengan xubuntu setelah peningkatan 18,04. Pertama instal vino. Milik saya dihapus saat pemutakhiran tanpa pemberitahuan. Bahkan setelah menginstal vino, perintah vino-preferensi tidak berfungsi.

Berikut ini adalah solusinya yang mudah:

  • Instal dconf-editor

    sudo apt install dconf-editor 
    
  • kemudian buka dan buka /org/gnome/desktop/remoteakses dan turn off encryption.

Ada juga beberapa opsi jarak jauh lain yang dapat Anda atur di dconf-editor. Namun hingga Anda menginstal vino, akses jarak jauh tidak muncul di dconf-editor.

Saya harap seseorang dapat menjelaskan apa yang terjadi pada preferensi vino.

Carol McAnulty
sumber
-1
gsettings reset-recursively org.gnome.Vino
Abdennour TOUMI
sumber
5
Akan sangat membantu jika Anda dapat mengedit jawaban Anda untuk menjelaskan apa yang dilakukannya dan bagaimana jawaban itu menjawab pertanyaan.
David Edwards