Abilitare VNC remoto dalla riga di comando?


66

Ho un computer con Ubuntu 10.04 ed è in esecuzione Vino , il server VNC predefinito.

Ho una seconda finestra di Windows che esegue un client VNC, ma non ha alcuna funzionalità X11. Sono entrato nell'host Ubuntu dall'host Windows, ma ho dimenticato di abilitare l'accesso VNC sull'host Ubuntu.

Sull'host Ubuntu, c'è un modo per abilitare le connessioni VNC dalla riga di comando di Ubuntu?

Aggiornare:

Come dice @koanhead di seguito, non esiste una pagina man per vino(es. man -k vinoE info vinonon restituisce nulla) e vino --helpnon mostra alcun aiuto).

Risposte:


25

Sto correndo

/usr/lib/vino/vino-server

dovrebbe fare il lavoro.

Una volta che hai accesso al tuo server, ti consiglio di aggiungerlo alle App con avvio automatico in modo che sia sempre avviato.

Probabilmente ti piacerebbe cambiare alcune impostazioni con:

vino-preferences

fai molta attenzione quando esegui vino-preferenza su un computer remoto, se deselezioni "Consenti ad altri utenti di controllare il desktop", non sarai in grado di ricontrollarlo.

o per modificare:

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

Ecco un file di esempio:

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

Attenzione, la password è codificata in base64. Per questo file, la password è qwerty. Vedo su alcuni forum che le persone lo hanno cambiato con successo, ma ho avuto problemi con esso.

Ecco un codificatore online base64:

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


6
Ho avuto il seguente errore durante l'esecuzione /usr/lib/vino/vino-server:No protocol specified ** (vino-server:2040): WARNING **: Could not open X display
Tuan Anh Hoang-Vu,

@hvtuananh Hai un display che puoi condividere? Hai la variabile evd DISPLAY impostata di conseguenza? La mia risposta presuppone che tu abbia già un display che inizia per impostazione predefinita, ma non hai una stringa e usa la riga di comando per renderlo disponibile.
Guillaume Coté,

1
Questo non funziona (almeno) 13.10. Vedi invece la risposta di ouzmoutous di seguito.
Emil Styrke,

Se qualcuno ha problemi, nota il bug: bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663 .
Rmano,

3
vino-preferences: command not found
endolith il

28

Risposta breve:

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

come menzionato nella risposta accettata, se vino non è avviato sulla macchina remota, utilizzare

/usr/lib/vino/vino-server

Risposta lunga e maggiori informazioni:

Un sottoinsieme delle impostazioni per l'attuale server di accesso remoto incorporato (vino) può essere visto, come detto, dalle preferenze di vino. Un elenco completo di flag gconf può essere visualizzato con il gconf-editorcomando, elencato in / desktop / gnome / remote_access. Puoi vedere anche le altre chiavi remote_access con questo comando (o una variante su di esso):

gconftool-2 -a /desktop/gnome/remote_access

(Per qualsiasi motivo, -Rfunzionerà anche.)

Puoi anche ottenere la documentazione della chiave dello schema tramite --long-docsarg.

Ad esempio, per la chiave 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.

Quindi, ad esempio, ecco come modificare la porta predefinita dalla riga di comando:

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 ti darà le chiavi in ​​una determinata directory. Ecco la sezione '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

Ecco come elencare tutti i documenti dello schema in / desk / gnome / remote / access (tramite riga di comando / 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-servernon funziona da SSH, diceCannot open display:
endolith il

24

Volevo anche abilitare il vino con la riga di comando senza andare nelle preferenze di vino.

Quando ho iniziato /usr/lib/vino/vino-server, mi diceva che non avevo abilitato il servizio di condivisione desktop.

Con Unity gconftoolnon è più utilizzabile. Dobbiamo farlo tramite gsettings.

Quindi, prima, abilita vino:

gsettings set org.gnome.Vino prompt-enabled true

Quindi avviare vino:

/usr/lib/vino/vino-server

Ora puoi accedere in remoto al tuo computer.

Se vuoi vedere tutte le configurazioni disponibili per Vino:

gsettings list-keys org.gnome.Vino

2
Per fare ciò su SSH o da un terminale in modalità testo in cui la variabile di ambiente DISPLAY non è impostata, è necessario anteporre DISPLAY =: 0 al comando set, altrimenti si otterrà "impossibile eseguire il commit delle modifiche in dconf".
Emil Styrke,

Quindi oltre a quanto sopra ho dovuto export DBUS_SESSION_BUS_ADDRESS=.... Per ottenere questo valore variabile ho copiato dall'ambiente di un processo in esecuzione ( pgrep -u myUserName -lper ottenere l'elenco dei processi, selezionare un numero, quindi tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS). Quindi esportare DBUS_SESSION_BUS_ADDRESS con il valore restituito. Quindi il comando è stato eseguito.
RJFalconer,

il primo comando mi dà: nessun tasto del genere "abilitato"
stiv il

19

Su Ubuntu 14.04, ho scoperto che la seguente variante ha funzionato per me:

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

Se questo non funziona, la tua sessione X potrebbe essere in esecuzione su qualcosa di diverso da :0, quindi un rapido ps aux | grep Xdovrebbe mostrare un :1o:2


1
Si dovrebbe iniziare con la export DISPLAY=:0quale i comandi gsettings fallirebbe senza: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY.
vaab,

La migliore risposta di gran lunga. Ma come si fa Auto-start al riavvio?
pferrel

con questo, la porta vnc è aperta, ma il mio client vnc si ferma per sempre. quale può essere il problema?
David Portabella,

se il tuo client VNC non si connette al desktop, è probabilmente perché la crittografia rimane attivata. - Ogni volta che ci si disconnette e si accede nuovamente, è necessario disabilitare nuovamente la crittografia. - È possibile inserire questi comandi in una shell e richiamarla all'avvio del desktop. Cerca le "Preferenze dell'applicazione di avvio" sul desktop di Ubuntu.
Jaime,

13

Perché, per l'amore di tutto ciò che c'è di buono in questo mondo difficile, non c'è voce umana per vino o vino-server o per nessuno dei comandi elencati dpkg -L vinonell'output? Del resto , perché mai dovrebbe essere installato un pacchetto su un sistema Ubuntu, che omette almeno una pagina man per i comandi pertinenti? Ok, falla finita. La migliore risposta che ho trovato finora è qui: http://ubuntuforums.org/archive/index.php/t-266981.html

Spero davvero che questo aiuti, e spero che in futuro la comunità Ubuntu documenti tutti questi comandi orfani. "Facilità d'uso" non significa abbandonare la riga di comando, e certamente non significa abbandonare la documentazione facilmente accessibile. </ Brontolare>


Prova a eseguire / usr / lib / vino / vino-server. Per quel poco aiuto e documenti disponibili, usa vino-server --help-all.
koanhead,

4
Il collegamento a un'altra fonte non è valido, tale fonte potrebbe andare offline in futuro e la tua risposta non sarebbe più valida.
Phil Hannent,

Un punto in più per il rant.
Marnix A. van Ammers

È in / usr / lib, quindi non è un comando che l'utente dovrebbe normalmente eseguire, quindi non ha bisogno di una manpage ... almeno questo è il ragionamento. FWIW, sono d'accordo con te.
Matthias Urlichs,

9

Questo non sembra funzionare in remoto via ssh a causa di errori sul display e così via. Ecco cosa ho fatto:

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

Principalmente funziona ora!


Si Finalmente! Senza export DISPLAY=:0.0, il desktop "remoto" che stavo ottenendo era in realtà il mio desktop locale (io uso ssh -X). Inoltre, è necessario "Consenti ad altri utenti" tramite vino-preferences(o i comandi di shell suggeriti in altre risposte) prima di eseguire /usr/lib/vino/vino-server. Nota: probabilmente qualsiasi client VNC funziona con questo una volta che è impostato correttamente, ma vinagresembra fornire l'interfaccia utente più sensata.
nobar

5

Sono stato in grado di impostare una nuova installazione di Ubuntu 16.04 da una connessione ssh remota con il seguente script:

#! / Bin / bash
export DISPLAY =: 0
leggi -e -p "Password VNC: password" -i "ubuntu"
dconf write / org / gnome / desktop / accesso remoto / abilitato vero
dconf write / org / gnome / desktop / accesso remoto / prompt-enabled false
dconf write / org / gnome / desktop / accesso remoto / metodi di autenticazione "['vnc']"
dconf write / org / gnome / desktop / accesso remoto / richiede crittografia falso
dconf write / org / gnome / desktop / accesso remoto / password vnc \ "\ '$ (echo -n $ password | base64) \' \"
dconf dump / org / gnome / desktop / accesso remoto /
sudo service lightdm restart

La citazione è importante per qualsiasi impostazione di stringa (segni di spunta all'interno delle virgolette). Perché dconf sia in grado di scrivere ha bisogno dell'accesso a XWindows, quindi è necessario il motivo per esportare la parte DISPLAY. Penso che sia ancora necessario accedere al desktop sulla macchina Ubuntu reale per connettersi con VNC dopo questo. Il comando dump è proprio lì per confermare che tutte le impostazioni sono state bloccate, non ne hai davvero bisogno.

Opzionalmente potresti voler fare questo se vuoi mantenere il display sempre attivo:

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

1

Per chiunque usi Linux Mint 15, ho fatto in modo che tutto funzionasse sul mio MintBox2 procedendo come segue. Ora posso eseguire MintBox 2 completamente senza testa con: ssh + vino + VNC stretto.

Digita putty tramite connessione ssh alla macchina 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]

Ora, se ti piace (questo non è necessario) su un terminale LinuxMint (cioè non su stucco) digita:

echo $DISPLAY

=> Ottieni un output di: 1 [cioè questo mi ha causato molti problemi a capire cioè che questo non è 0: 0 !!!!!!!!!!]

Ora torna a stucco e digita:

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

=> Ora si carica e puoi usare Windows 7 VNC Viewer stretto per accedere a Linux Mint ecc

Spero che questo aiuti qualcuno là fuori ...


1

Ho avuto lo stesso problema con xubuntu dopo l'aggiornamento 18.04. Prima installa vino. Il mio è stato rimosso durante l'aggiornamento senza alcun preavviso. Anche dopo l'installazione di vino, il comando vino-preferenze non funziona.

Ecco una soluzione semplice:

  • Installa dconf-editor

    sudo apt install dconf-editor 
    
  • quindi aprilo e vai ad /org/gnome/desktop/remoteaccedere e turn off encryption.

Ci sono anche molte altre opzioni remote che puoi impostare in dconf-editor. Tuttavia, fino all'installazione di vino, l'accesso remoto non viene visualizzato in dconf-editor.

Spero che qualcuno possa spiegare cosa è successo alle preferenze del vino.


-1
gsettings reset-recursively org.gnome.Vino

5
Sarebbe utile se potessi modificare la tua risposta per spiegare cosa fa questo e come risponde alla domanda.
David Edwards,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.