Увімкнути віддалений VNC з командного рядка?


66

У мене є один комп'ютер під управлінням Ubuntu 10.04 і працює Vino , сервер VNC за замовчуванням.

У мене є другий вікно Windows, на якому працює клієнт VNC, але він не має можливостей X11. Я перейшов у хост Ubuntu від хоста Windows, але забув включити доступ VNC на хості Ubuntu.

Чи є на хості Ubuntu спосіб включити VNC-з'єднання з командної лінії Ubuntu?

Оновлення:

Як сказано нижче @koanhead, немає жодної сторінки vino(наприклад, man -k vinoі info vinoнічого не повертати), і vino --helpвона не надає допомоги).

Відповіді:


25

Просто біг

/usr/lib/vino/vino-server

повинен виконати роботу.

Отримавши доступ до свого сервера, я рекомендую додати його до Автозавантажених програм, щоб він завжди був запущений.

Можливо, ви хочете змінити деякі налаштування за допомогою:

vino-preferences

Будьте дуже обережні, коли ви користуєтеся налаштуваннями вина на віддаленій машині, якщо зніміть прапорець "Дозволити іншим користувачам контролювати ваш робочий стіл", ви не зможете перевірити його.

або відредагувати:

~/.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-server:No protocol specified ** (vino-server:2040): WARNING **: Could not open X display
Туан Ань Хоанг-Ву

@hvtuananh У вас є дисплей, яким ви можете поділитися? У вас відповідно встановлена ​​зміна evd DISPLAY? Моя відповідь припускає, що у вас вже є дисплей, починаючи за замовчуванням, але у вас немає рядка і використовуйте командний рядок, щоб зробити його доступним.
Гійом Коте

1
Це не працює (принаймні) 13.10. Дивіться натомість відповідь ouzmoutous нижче.
Еміль Стірке

Якщо у когось є проблеми, зверніть увагу на помилку: bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663 .
Рмано

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. Повний список прапорів gconf можна побачити за допомогою gconf-editorкоманди, переліченої в / desktop / gnome / remote_access. Ви також можете бачити інші клавіші віддаленого доступу з цією командою (або варіацією на ній):

gconftool-2 -a /desktop/gnome/remote_access

(З будь-якої причини -Rтакож буде працювати.)

Ви також можете отримати документацію ключа схеми через --long-docsarg.

Наприклад, для альтернативного_порту ключа:

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-serverне працює з SSH, йдетьсяCannot open display:
ендоліт

24

Я також хотів включити vino з командним рядком, не входячи в налаштування vino.

Коли я почав /usr/lib/vino/vino-server, він говорить, що в мене не було включено службу спільного використання робочого столу.

З Unity gconftoolбільше не можна користуватися. Ми повинні це зробити через gsettings.

Отже, по-перше, увімкніть vino:

gsettings set org.gnome.Vino prompt-enabled true

Потім запустіть вино:

/usr/lib/vino/vino-server

Тепер ви можете віддалено отримати доступ до свого комп’ютера.

Якщо ви хочете переглянути всі налаштування, доступні для Vino:

gsettings list-keys org.gnome.Vino

2
Для цього через SSH або з терміналу текстового режиму, де змінна середовища DISPLAY не встановлена, вам потрібно додати DISPLAY =: 0 до встановленої команди, інакше ви отримаєте "не вдалося змінити dconf".
Еміль Стірке

Тож крім сказаного мені довелося export DBUS_SESSION_BUS_ADDRESS=.... Щоб отримати це значення змінної, я скопіював із середовища запущеного процесу ( pgrep -u myUserName -lщоб отримати список процесів, виберіть номер, потім tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS). Потім експортуйте DBUS_SESSION_BUS_ADDRESS із поверненим значенням. Потім команда бігла.
RJFalconer

Перша команда дає мені: "Не ввімкнено таку клавішу"
stiv

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=:0як gsettings команди будуть припинитися без: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY.
vaab

Найкраща відповідь на сьогоднішній день. Але як зробити автоматичний запуск Vino при перезавантаженні?
пферрель

з цим порт vnc відкритий, але мій клієнт vnc зупиняється назавжди. що може бути проблемою?
Девід Портабелла

якщо ваш клієнт VNC не підключається до робочого столу, можливо, тому шифрування залишається активованим. - Кожен раз, коли ви виходите з системи та знову входите в систему, ви повинні знову відключити шифрування - Ви можете помістити ці команди в оболонку та викликати її при запуску робочого столу. Шукайте "Налаштування програми запуску" на робочому столі Ubuntu.
Хайме

13

Чому, для любові до всього, що є хорошим у цьому нелегкому світі, немає жодного запису для vino чи vino-сервера чи для будь-якої з команд, перелічених у dpkg -L vinoвихідних даних? З цього приводу, чому взагалі будь-який пакет повинен бути встановлений у системі Ubuntu, який опускає довідкову сторінку принаймні для відповідних команд? Гаразд, розігнати. Найкраща відповідь, яку я знайшов поки що, тут: http://ubuntuforums.org/archive/index.php/t-266981.html

Я дуже сподіваюся, що це допоможе, і я сподіваюся, що надалі спільнота Ubuntu документує всі ці осиротілі команди. "Простота використання" не означає відмову від командного рядка, і це, звичайно, не означає відмову від легкодоступної документації. </grumble>


Спробуйте запустити / usr / lib / vino / vino-server. Щоб отримати невелику допомогу та документи, використовуйте vino-сервер --help-all.
koanhead

4
Посилання на інше джерело погано, воно може в майбутньому перейти в офлайн, і ваша відповідь більше не буде дійсною.
Філ Ханнент

Ще один бал за рент.
Marnix A. van Ammers

Це в / usr / lib, таким чином, це не команда, яку звичайно виконує користувач, тому не потрібна сторінка управління ... принаймні, це міркування. FWIW, я з вами згоден.
Маттіас Урліхс

9

Схоже, це не працює віддалено через ssh через помилки на дисплеї тощо. Ось що я зробив:

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

В основному працює зараз!


Так - нарешті! Без export DISPLAY=:0.0цього "віддалений" робочий стіл, який я отримував, був насправді моїм місцевим робочим столом (я використовую ssh -X). Також перед " запуском " необхідно "Дозволити іншим користувачам" vino-preferences(або команди оболонки, запропоновані в інших відповідях) . Примітка. Напевно, будь-який клієнт VNC працює з цим, як тільки він налаштований правильно, але, здається, він забезпечує найрозумніший інтерфейс користувача. /usr/lib/vino/vino-servervinagre
nobar

5

Мені вдалося встановити свіжу установку Ubuntu 16.04 з віддаленого з'єднання ssh за допомогою наступного сценарію:

#! / бін / баш
експортувати DISPLAY =: 0
read -e -p "Пароль VNC:" -i "ubuntu" пароль
dconf write / org / gnome / desktop / віддалений доступ / включений true
dconf write / org / gnome / desktop / remote-access / prompt-enable false
dconf write / org / gnome / desktop / віддалений доступ / методи аутентифікації "['vnc']"
dconf write / org / gnome / desktop / віддалений доступ / вимагає шифрування false
dconf write / org / gnome / desktop / віддалений доступ / vnc-пароль \ "\ '$ (відлуння -n $ пароль | base64) \' \"
dumpf dump / org / gnome / настільний / віддалений доступ /
перезапуск служби sudo служби lightdm

Цитування важливе для будь-якого з рядкових налаштувань (поодинокі галочки всередині лапок). Для того, щоб dconf міг писати, йому потрібен доступ до XWindows, тому для експорту потрібна частина експорту DISPLAY. Я думаю, що вам потрібно все-таки увійти на робочий стіл на фактичній машині Ubuntu, щоб після цього з'єднатися з VNC. Команда dump якраз існує, щоб підтвердити всі налаштування, які вам потрібні.

За бажанням ви можете це зробити, якщо ви хочете постійно тримати дисплей:

dconf write / org / gnome / desktop / screensaver / enable lock with 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, зробивши наступне. Зараз я можу запустити MintBox 2 повністю без голови з: ssh + vino + Tight VNC.

Введіть в шпаклівку через ssh-з'єднання з машиною 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]

Тепер, якщо вам подобається (це не потрібно) на терміналі LinuxMint (тобто не на шпаклівці):

echo $DISPLAY

=> Ви отримуєте вихід: 1 [тобто це спричинило мені багато клопоту, тобто це не 0: 0 !!!!!!!!!!]

Тепер поверніться до шпаклівки та введіть:

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

=> Зараз він завантажується, і ви можете використовувати вікно 7 Tight VNC Viewer для доступу до Linux Mint тощо

Я сподіваюся, що це допоможе комусь там ...


1

У мене була така сама проблема з xubuntu після оновлення 18.04. Спочатку встановіть vino. Оновлення було видалено після оновлення без будь-якого повідомлення. Також навіть після установки vina команда vino-налаштування не працює.

Ось простий спосіб вирішення:

  • Встановіть dconf-редактор

    sudo apt install dconf-editor 
    
  • потім відкрийте його та перейдіть до /org/gnome/desktop/remoteдоступу та turn off encryption.

Існує також кілька інших віддалених параметрів, які можна встановити в dconf-редакторі. Однак поки ви не встановите vino, віддалений доступ не відображається в dconf-редакторі.

Я сподіваюся, що хтось зможе пояснити, що сталося з преференціями для вина.


-1
gsettings reset-recursively org.gnome.Vino

5
Було б корисно, якщо ви зможете відредагувати свою відповідь, щоб пояснити, що це робить, і як вона відповідає на питання.
Девід Едвардс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.