Uzak VNC'yi komut satırından etkinleştirilsin mi?


66

Ben Ubuntu 10,04 çalıştıran bir bilgisayarınız varsa ve çalışıyorsa Vino , varsayılan VNC sunucusu.

VNC istemcisi çalıştıran, ancak herhangi bir X11 özelliğine sahip olmayan ikinci bir Windows kutum var. Windows ana bilgisayarından Ubuntu ana bilgisayarına ssh'd oldum, ancak Ubuntu ana bilgisayarındaki VNC erişimini etkinleştirmeyi unuttum.

Ubuntu sunucusunda, Ubuntu komut satırından VNC bağlantılarını etkinleştirmenin bir yolu var mı?

Güncelleme:

@Koanhead aşağıda söylediği gibi orada hiçbir erkek için sayfası vino(örn man -k vinove info vinodönüş hiçbir şey) ve vino --help) herhangi bir yardım göstermez.

Yanıtlar:


25

Sadece koşuyorum

/usr/lib/vino/vino-server

işi yapmalı.

Sunucunuza eriştikten sonra, her zaman başlaması için Autostarted Apps'a eklemenizi tavsiye ederim.

Muhtemelen bazı ayarları aşağıdakilerle değiştirmek isteyeceksiniz:

vino-preferences

Uzaktaki bir makinede vino tercihini çalıştırdığınızda çok dikkatli olun, "Diğer kullanıcıların masaüstünüzü denetlemesine izin ver" seçeneğinin işaretini kaldırırsanız, geri kontrol edemezsiniz.

veya düzenlemek için:

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

İşte örnek bir dosya:

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

Dikkatli olun, şifre base64 kodludur. Bu dosya için parola qwerty'dir. Bazı forumlarda insanların başarıyla değiştirdiğini görüyorum, ancak sorunum vardı.

İşte bir çevrimiçi base64 kodlayıcı:

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
Çalıştırırken

@hvtuananh Paylaşabileceğiniz bir ekranınız var mı? DISPLAY evd değişkenini buna göre ayarladınız mı? Cevabım, varsayılan olarak zaten başlayan bir ekranınız olduğunu varsayar, ancak dizeniz yoktur ve kullanılabilir duruma getirmek için komut satırını kullanırsınız.
Guillaume Coté,

1
Bu çalışmaz (en azından) 13.10. Bunun yerine aşağıdaki uzayda cevap görün.
Emil Styrke

Birisi sorun yaşıyorsa , şu hatayı fark edin: bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663 .
Rmano

3
vino-preferences: command not found
Endolit

28

Kısa cevap:

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

Kabul edilen cevabın da belirttiği gibi, uzak makinede vino başlatılmadıysa, kullan

/usr/lib/vino/vino-server

Uzun Cevap ve daha fazla bilgi:

Geçerli yerleşik uzaktan erişim sunucusu (vino) için ayarların bir alt kümesi, vino tercihlerinden belirtildiği gibi görülebilir. gconf-editor/ Desktop / gnome / remote_access altında listelenen komutla gconf bayraklarının tam bir listesi görülebilir . Bu komut ile diğer remote_access anahtarlarını da görebilirsiniz (veya bunun üzerinde bir değişiklik var):

gconftool-2 -a /desktop/gnome/remote_access

(Hangi nedenle olursa olsun, -Rişe yarayacaktır.)

Ayrıca şema anahtarı belgelerini --long-docsarg yoluyla da alabilirsiniz .

Örn. Alternative_port anahtarı için:

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.

Yani, örneğin, varsayılan portu komut satırı ile nasıl değiştireceğiniz:

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 size verilen bir dizinin altındaki anahtarları verir. İşte 'remote_access' bölümü:

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

Şema belgelerinin / desk / gnome / remote / access altındaki (komut satırı / bin / bash yoluyla) nasıl listeleneceği aşağıda açıklanmaktadır:

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-serverCannot open display:
SSH'den

24

Ayrıca vino'yu vino tercihlerine girmeden komut satırıyla etkinleştirmek istedim.

Başladığımda /usr/lib/vino/vino-server, masaüstü paylaşım servisinin etkin olmadığını söylüyor.

Birlik gconftoolile artık kullanılamaz. Bunu üzerinden yapmak zorundayız gsettings.

Yani, önce vino'yu etkinleştirin:

gsettings set org.gnome.Vino prompt-enabled true

Ardından vino'yu başlatın:

/usr/lib/vino/vino-server

Artık bilgisayarınıza uzaktan erişebilirsiniz.

Vino için mevcut tüm yapılandırmaları görmek istiyorsanız:

gsettings list-keys org.gnome.Vino

2
Bunu SSH üzerinden veya DISPLAY ortam değişkeninin ayarlanmadığı bir metin modu terminalinden yapmak için, DISPLAY =: 0 değerini set komutuna hazırlamanız gerekir, aksi takdirde "dconf'ta değişiklik yapmayı başaramazsınız" olur.
Emil Styrke

Bu yüzden yukarıdakilere ek olarak zorundaydım export DBUS_SESSION_BUS_ADDRESS=.... Bu değişken değerini elde etmek için çalışan bir işlem ortamından kopyaladım ( pgrep -u myUserName -lişlem listesini almak için bir sayı seçip tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS). Ardından DBUS_SESSION_BUS_ADDRESS değerini döndürülen değerle verin. Sonra komut kaçtı.
RJFalconer

ilk komut bana verir: Böyle bir anahtar yok "etkin"
stiv

19

Ubuntu 14.04'te, aşağıdaki varyasyonun benim için çalıştığını gördüm:

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

Bu işe yaramazsa, X oturumu başka bir şeye çalışıyor olabilir :0, bu nedenle hızlı bir ps aux | grep Xbir göstermelidir :1Or:2


1
Sen ile başlamalıdır export DISPLAY=:0komutlar olmadan başarısız olur gsettings olarak: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY.
vaab

Şimdiye kadar en iyi cevap. Peki Vino'yu yeniden başlatmayı otomatik olarak nasıl başlatırsınız?
pferrel

bununla birlikte, vnc bağlantı noktası açık, ancak vnc müşterim sonsuza dek durdu. sorun ne olabilir?
David Portabella

VNC istemciniz masaüstüne bağlanmıyorsa, bunun nedeni şifrelemenin etkin kalması olabilir. - Her oturum açtığınızda ve tekrar oturum açtığınızda, şifrelemeyi tekrar devre dışı bırakmalısınız - Bu komutları bir kabuğa koyabilir ve masaüstü başladığında onu çağırabilirsiniz. Ubuntu masaüstünüzdeki "Başlangıç ​​uygulaması tercihlerini" arayın.
Jaime

13

Neden, bu zor dünyada iyi olan herşeyin aşkı için, vino ya da vino-sunucu ya da içinde listelenen komutlardan herhangi biri için erkek girişi yoktur. dpkg -L vino çıktısında mu? Bu konuda, neden herhangi bir paket hiç bir Ubuntu sistemine kurulmalıdır ki, bu da en azından ilgili komutlar için bir adam sayfasını çıkarmaz. Tamam, rant bitti. Şimdiye kadar bulduğum en iyi cevap burada: http://ubuntuforums.org/archive/index.php/t-266981.html

Bunun gerçekten yardımcı olacağını umuyorum ve umarım gelecekte Ubuntu topluluğu bu yetim komutları belgelemektedir. “Kullanım kolaylığı”, komut satırından vazgeçmek anlamına gelmez ve kesinlikle kolayca erişilebilir belgelerin bırakılması anlamına gelmez. </ Homur>


/ Usr / lib / vino / vino-server komutunu çalıştırmayı deneyin. Çok az yardım ve belgenin ne olduğu için vino-server --help-all komutunu kullanın.
koanhead

4
Başka bir kaynağa bağlanmak kötüdür, bu kaynak gelecekte çevrimdışı olabilir ve cevabınız artık geçerli olmaz.
Phil Hannent

Rant için bir ekstra puan.
Marnix A. van Ammers

Bu, / usr / lib içindedir, dolayısıyla kullanıcının normalde çalıştıracağı bir komut değildir, bu nedenle bir manpage'e gerek duymaz ... en azından mantık budur. FWIW, sana katılıyorum.
Matthias Urlichs

9

Ekran ve benzeri hatalardan dolayı bu, ssh ile uzaktan çalışıyor gibi görünmüyor. İşte yaptığım şey:

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

Çoğunlukla şimdi çalışıyor!


Evet sonunda! Olmadan export DISPLAY=:0.0, alıyorum "uzak" masaüstü aslında benim yerel masaüstüydü (kullanıyorum ssh -X). Ayrıca, çalıştırmadan önce "Diğer kullanıcılara izin ver" seçeneğini vino-preferences(veya diğer yanıtlarda önerilen kabuk komutlarını kullanarak) gereklidir . Not: Muhtemelen herhangi bir VNC istemcisi, doğru bir şekilde kurulduktan sonra bununla çalışır, ancak en mantıklı kullanıcı arayüzünü sağlıyor gibiydi. /usr/lib/vino/vino-servervinagre
nobar

5

Aşağıdaki komut dosyasıyla uzak bir ssh bağlantısından yeni bir Ubuntu 16.04 yüklemesi ayarlayabildim:

#! / Bin / bash
ihracat DISPLAY =: 0
-e -p "VNC Şifresi:" -i "ubuntu" şifresini okuyun
dconf yazma / org / gnome / masaüstü / uzaktan erişim / etkin true
dconf yazma / org / gnome / masaüstü / uzaktan erişim / istemi etkin yanlış
dconf yazma / org / gnome / masaüstü / uzaktan erişim / kimlik doğrulama yöntemleri "['vnc']"
dconf yazma / org / gnome / masaüstü / uzaktan erişim / şifreleme gerektiren yanlış
dconf yazma / org / gnome / masaüstü / uzaktan erişim / vnc-password \ "\ '$ (echo -n $ password | base64) \' \"
dconf dökümü / org / gnome / masaüstü / uzaktan erişim /
sudo service lightdm yeniden başlat

Tırnak dizgisi ayarlarından herhangi biri için önemlidir (tırnak işaretleri içindeki tek tıklamalar). Dconf'un yazabilmesi için XWindows'a erişmesi gerekiyor, bu yüzden verme DISPLAY kısmına ihtiyaç var. Bundan sonra VNC'ye bağlanmak için hala gerçek Ubuntu makinesindeki masaüstünde oturum açmanız gerektiğini düşünüyorum. Dump komutu, tüm ayarların tutulduğunu onaylamak için oradadır, buna gerçekten ihtiyacınız yoktur.

İsteğe bağlı olarak, ekranı sürekli açık tutmak istiyorsanız, bunu yapmak isteyebilirsiniz:

dconf yazma / org / gnome / masaüstü / ekran koruyucu / kilidi etkin yanlış
dconf yazma / org / gnome / masaüstü / ekran koruyucu / ubuntu kilidi kilitlemek
dconf yazma / org / gnome / masaüstü / oturum / rölanti gecikmesi "uint32 0"

1

Linux Mint 15 kullanan herkes için, bunların hepsini MintBox2 üzerinde aşağıdakileri yaparak çalışmak üzere aldım. Şimdi MintBox 2'yi tamamen başsız olarak çalıştırabilirim: ssh + vino + Tight VNC.

LinuxMint MintBox2 makinesine ssh bağlantısı ile macun yazın:

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]

Şimdi, eğer bir LinuxMint terminalinden (yani gerekli değil) hoşlanıyorsanız (bu gerekli değildir):

echo $DISPLAY

=> Çıktısı alırsınız: 1 [yani bu beni anlamakta çok zorlandı, yani bu 0: 0 değil !!!!!!!!!!]

Şimdi, macuna geri dönün ve şunu yazın:

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

=> Şimdi yüklendi & 7 penceresini kullanabilirsiniz. Linux Nint vb.

Umarım bu dışarıdaki birine yardım eder ...


1

18.04 yükseltme işleminden sonra xubuntu ile de aynı sorunu yaşadım. İlk önce vino'yu kurun. Maden yükseltme yapıldığında herhangi bir bildirimde bulunulmadan kaldırıldı. Ayrıca, vino yüklendikten sonra bile, vino-tercihleri ​​komutu çalışmıyor.

İşte kolay bir geçici çözüm:

  • Dconf-editor programını yükleyin

    sudo apt install dconf-editor 
    
  • daha sonra açın ve /org/gnome/desktop/remoteerişmek ve gidin turn off encryption.

Dconf-editor'da ayarlayabileceğiniz birkaç başka uzak seçenek daha vardır. Ancak, vino yükleninceye kadar uzaktan erişim dconf editöründe gösterilmez.

İnşallah birileri vino tercihlerine ne olduğunu açıklayabilir.


-1
gsettings reset-recursively org.gnome.Vino

5
Bunun ne yaptığını ve soruyu nasıl cevapladığını açıklamak için cevabınızı düzenleyebilmeniz yararlı olacaktır.
David Edwards
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.