Difference between revisions of "Vino"

From ArchWiki
Jump to: navigation, search
m (Running on a headless server: echo without "-n" feeds not only password, but also trailing newline character to base64, resulting in wrong value stored in settings.)
 
(24 intermediate revisions by 13 users not shown)
Line 1: Line 1:
[[Category:Virtual Network Computing]]
+
[[Category:Remote desktop]]
{{stub}}
+
[[Category:GNOME]]
'''Vino''' is a VNC (Virtual Network Computing) server allowing remote connection to your actual desktop. It is a default component of the Gnome Desktop Environment.
+
[[ja:Vino]]
 +
'''Vino''' is a VNC (Virtual Network Computing) server allowing remote connection to your actual desktop. It is a default component of the [[GNOME]] [[Desktop environment]].
  
== How to Install on Arch ==
+
== Installation ==
To install Vino type the following:
+
# pacman -S vino
+
  
If you are running gnome you need to restart gnome so that the vino-server is started automatically when enabling the remote desktop feature.
+
=== GNOME ===
 +
[[Install]] the package {{Pkg|vino}}, which is available in the [[official repositories]].
  
You can then configure vino via the following command :
+
You need to restart GNOME so that {{ic|vino-server}} is started automatically when enabling the remote desktop feature. The remote desktop feature can usually be enabled in Settings > Sharing, however this only seems to be functional when [[NetworkManager]] is installed and functional.
  
# vino-preferences
+
=== Alternative Desktop Environments ===
 +
As of version 3.9.2, Vino no longer includes a standalone preferences dialog (see [https://bugzilla.gnome.org/show_bug.cgi?id=700070 bug 700070]), thus making configuration difficult without the GNOME Control Center.
  
Now you can connect remotely to your desktop via a VNC viewer like TightVNC. Remember to forward Port 5900 if you are behind a NAT and to allow the connection through iptables.
+
The easiest solution is to install the package {{AUR|vino38}}, which provides the latest version with the preferences dialog, accessible via the {{ic|vino-preferences}} command.
  
If you use some standalone wm like openbox and it doesn't work , you can start the vino-server manually or add the command to the wm autostart script
+
== Configuration ==
 +
 
 +
You can configure vino via gnome-control-center.
 +
 
 +
Now you can connect remotely to your desktop via a VNC viewer like TightVNC or Remmina. Remember to forward port 5900 if you are behind a NAT device and to allow the connection through iptables.
 +
 
 +
If you are having problems regarding security and encryption you could try:
 +
 
 +
$ gsettings set org.gnome.Vino require-encryption false
 +
 
 +
If you use a standalone [[window manager]] like [[Openbox]] and it does not work, you can start {{ic|vino-server}} manually or add the command to the window manager's autostart script
 
   
 
   
 
  # /usr/lib/vino/vino-server &
 
  # /usr/lib/vino/vino-server &
 +
 +
== Running on a headless server ==
 +
 +
Vino can be used to manage a headless server with a graphical desktop via VNC. For this, a graphics driver like {{Pkg|xf86-video-dummy}} must be installed and [[Xorg#Configuration|configured]]. [http://xpra.org/xorg.conf xpra’s sample xorg.conf] for the Xdummy driver can be used as a base. Then, the server can be configured to [[start X at boot]] for the user account that should be usable remotely. Vino must be made to [[Desktop_entries#Autostart|autostart with the desktop environment]] by creating a desktop entry in the user’s home directory such as this one:
 +
 +
{{hc|~/.config/autostart/vino-server.desktop|2=
 +
[Desktop Entry]
 +
Type=Application
 +
Name=Vino VNC server
 +
Exec=/usr/lib/vino/vino-server
 +
NoDisplay=true
 +
}}
 +
 +
Next, make Vino accept VNC connections without asking for confirmation by running the following command as the graphical desktop user:
 +
 +
$ dbus-launch gsettings set org.gnome.Vino prompt-enabled false
 +
 +
You may wish to revoke suspend and hibernate permissions using [[Polkit]].
 +
 +
For the [[GNOME]] desktop environment, the following are some further options you may want for GNOME:
 +
 +
$ dbus-launch gsettings set org.gnome.desktop.lockdown disable-user-switching true
 +
$ dbus-launch gsettings set org.gnome.desktop.lockdown disable-log-out true
 +
$ dbus-launch gsettings set org.gnome.desktop.interface enable-animations false
 +
 +
Remember to configure your [[firewall]] to not block the {{ic|rfb}} port used for VNC. For secure authentication – which should be used when giving access to privileged users on the open internet –, you should tunnel the VNC protocol through e.g. [[SSH]] or {{Pkg|stunnel}} instead of unblocking the {{ic|rfb}} port. When using stunnel, you should require a [[Security#Passwords|password]]:
 +
 +
$ dbus-launch gsettings set org.gnome.Vino authentication-methods "['vnc']"
 +
$ dbus-launch gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)
 +
 +
You can now log in to your server with a VNC client such as {{Pkg|vinagre}}.
 +
 +
The above setup can also be used with multiple remote users logging in automatically, e.g. by using multiple copies of {{AUR|xlogin-git}}’s service files in {{ic|/etc/systemd/system/}}, each modified to log in a different user on a different X11 display and virtual terminal. With Vino, each user’s VNC server can be configured to listen on a different port as well:
 +
 +
$ dbus-launch gsettings set org.gnome.Vino alternative-port 5910
 +
$ dbus-launch gsettings set org.gnome.Vino use-alternative-port true

Latest revision as of 04:21, 25 August 2016

Vino is a VNC (Virtual Network Computing) server allowing remote connection to your actual desktop. It is a default component of the GNOME Desktop environment.

Installation

GNOME

Install the package vino, which is available in the official repositories.

You need to restart GNOME so that vino-server is started automatically when enabling the remote desktop feature. The remote desktop feature can usually be enabled in Settings > Sharing, however this only seems to be functional when NetworkManager is installed and functional.

Alternative Desktop Environments

As of version 3.9.2, Vino no longer includes a standalone preferences dialog (see bug 700070), thus making configuration difficult without the GNOME Control Center.

The easiest solution is to install the package vino38AUR, which provides the latest version with the preferences dialog, accessible via the vino-preferences command.

Configuration

You can configure vino via gnome-control-center.

Now you can connect remotely to your desktop via a VNC viewer like TightVNC or Remmina. Remember to forward port 5900 if you are behind a NAT device and to allow the connection through iptables.

If you are having problems regarding security and encryption you could try:

$ gsettings set org.gnome.Vino require-encryption false

If you use a standalone window manager like Openbox and it does not work, you can start vino-server manually or add the command to the window manager's autostart script

# /usr/lib/vino/vino-server &

Running on a headless server

Vino can be used to manage a headless server with a graphical desktop via VNC. For this, a graphics driver like xf86-video-dummy must be installed and configured. xpra’s sample xorg.conf for the Xdummy driver can be used as a base. Then, the server can be configured to start X at boot for the user account that should be usable remotely. Vino must be made to autostart with the desktop environment by creating a desktop entry in the user’s home directory such as this one:

~/.config/autostart/vino-server.desktop
[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true

Next, make Vino accept VNC connections without asking for confirmation by running the following command as the graphical desktop user:

$ dbus-launch gsettings set org.gnome.Vino prompt-enabled false

You may wish to revoke suspend and hibernate permissions using Polkit.

For the GNOME desktop environment, the following are some further options you may want for GNOME:

$ dbus-launch gsettings set org.gnome.desktop.lockdown disable-user-switching true
$ dbus-launch gsettings set org.gnome.desktop.lockdown disable-log-out true
$ dbus-launch gsettings set org.gnome.desktop.interface enable-animations false

Remember to configure your firewall to not block the rfb port used for VNC. For secure authentication – which should be used when giving access to privileged users on the open internet –, you should tunnel the VNC protocol through e.g. SSH or stunnel instead of unblocking the rfb port. When using stunnel, you should require a password:

$ dbus-launch gsettings set org.gnome.Vino authentication-methods "['vnc']"
$ dbus-launch gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)

You can now log in to your server with a VNC client such as vinagre.

The above setup can also be used with multiple remote users logging in automatically, e.g. by using multiple copies of xlogin-gitAUR’s service files in /etc/systemd/system/, each modified to log in a different user on a different X11 display and virtual terminal. With Vino, each user’s VNC server can be configured to listen on a different port as well:

$ dbus-launch gsettings set org.gnome.Vino alternative-port 5910
$ dbus-launch gsettings set org.gnome.Vino use-alternative-port true