VNC相关

配置vnc

 

kylin或redhat

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-tigervnc#sec-configuring-vnc-server

配置在systemctl

1. 安装tigervnc-server

yum install tigervnc-server

2. vncserver@.service。注意一个用户配置一个service,比如vncserver-USER_1@.servicevncserver-USER_2@.service

# The vncserver service unit file
#
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@.service
# 2. Replace <USER> with the actual user name and edit vncserver
#    parameters appropriately
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service`
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, you should
# limit connections to the local host and then tunnel from
# the machine you want to view VNC on (host A) to the machine
# whose VNC output you want to view (host B)
#
# [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
#
# this will open a connection on port 590N of your hostA to hostB's port 590M
# (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
# See the ssh man page for details on port forwarding)
#
# You can then point a VNC client on hostA at vncdisplay N of localhost and with
# the help of ssh, you end up seeing what hostB makes available on port 590M
#
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
#
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.


[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
WorkingDirectory=/home/<USER>
User=<USER>
Group=<USER>

PIDFile=/home/<USER>/.vnc/%H%i.pid

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i

Restart=on-success
RestartSec=15

[Install]
WantedBy=multi-user.target

3. 启动。display_number=[1,2,3,...]

systemctl start vncserver@:display_number.service

 

 

 

1. sudo apt install tigervnc-standalone-server

2. vncpasswd生成password在~/.vnc/password

3. vim ~/.vnc/vnc.conf,内容为

$localhost = "no";
$geometry = "800x600";
$SecurityTypes = "VncAuth";

4. vim ~/.vnc/xstartup,注意chmod 755,内容为

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec gnome-session

5. vncserver启动。不用带参数,参数在vnc.conf设置了

 

tigervnc-standalone-server

sudo apt install安装完,就会有/etc/vnc.conf

vnc.conf

# /etc/vnc.conf written by Joachim Falk. This file is in the Public Domain.
#
# This is the configuration file for the tigervnc-standalone-server package.
# It is Perl syntax and is source from the tigervncserver script.
# Every value has suitable defaults, so you probably don't need any modifications.
#
# After this file, $(HOME)/.vnc/vnc.conf will be sourced, so values can be
# overwritten on a per-user basis. If you want to reactivate the default
# value there, you have to specify an undef value. For example, $fontPath
# will set to the default value after
#
# $fontPath = "/foo";
# $fontPath = undef;
#
# If you are missing something, please let me know.
# joachim.falk@gmx.de

# System configuration
# --------------------
#
# This section contains entries that should be true for all users.

# $vncClasses   should be the path to the java classes of the VNC server.
# $baseHttpPort is the port base for the http server. For display :nn
#               $vncClasses will be served on port $baseHttpPort + nn
#
# Default: $vncClasses = "/var/www/vnc"; # if /var/www/vnc is present.
# Default: $baseHttpPort = undef; # disables the http server

# $XFConfigPath   can be set to the global XF86Config file. This will be
#                 parsed to gain a default value for $fontPath. If you want
#                 to disable this feature, point it to an invalid file,
#                 "/invalid" for example.
# $XFConfigPath = "/etc/X11/xorg.conf";

# $fontPath should be a comma separated list of fonts to be added to the font
#           path. If not specified, and $XFConfigPath is valid, vncserver
#           will read the $fontPath from there. If both are not set, the
#           default will apply.
# Example:
#    $fontPath = "tcp/localhost:7100"; # would force Xtigervnc to use xfs.
# Example:
#    $fontPath = "";
#    $fontPath .= "/usr/share/fonts/X11/misc,";
#    $fontPath .= "/usr/share/fonts/X11/cyrillic,";
#    $fontPath .= "/usr/share/fonts/X11/100dpi/:unscaled,";
#    $fontPath .= "/usr/share/fonts/X11/75dpi/:unscaled,";
#    $fontPath .= "/usr/share/fonts/X11/Type1,";
#    $fontPath .= "/usr/share/fonts/X11/100dpi,";
#    $fontPath .= "/usr/share/fonts/X11/75dpi,";
#
# Default: $fontPath = undef; # Use Xtigervnc built-in default font path.

# Use Xtigervnc built-in default font path even if $XFConfigPath is present
# and contains FontPath directives.
$fontPath = undef;

# $PAMService is the PAM service used for plain password authentication
#             if one of the security types Plain, TLSPlain, and
#             X509Plain is used.
#
# Default: $PAMService = "tigervnc"; # if /etc/pam.d/vnc is absent.
# Default: $PAMService = "vnc";      # if /etc/pam.d/vnc is present.

# $sslAutoGenCertCommand is used to auto generate the certificate
# for the X509Cert and X509Key options. The configuration for
# openssl is taken from /etc/tigervnc/ssleay.cnf where we substitute
# @HostName@ by the fully qualified domain name of the host.
#
# Example: $sslAutoGenCertCommand =
#  "openssl req -newkey rsa:4096 -x509 -days 365 -nodes";
#
# Default: $sslAutoGenCertCommand =
#  "openssl req -newkey ec:/etc/tigervnc/ecparams.pem -x509 -days 2190 -nodes";

# User configuration
# ------------------
#
# This section contains entries that may change from user to user.
# You can overwrite these settings by providing a ~/.vnc/vnc.conf
# configuration file.

# $vncUserDir contains the filename for the log files directory of Xtigervnc
#             (the server) and the viewers that are connected to it.
#
# Default: $vncUserDir = "$ENV{HOME}/.vnc";

# $vncPasswdFile contains the filename of the password file for Xtigervnc.
#                This file is only used for the security types VncAuth,
#                TLSVnc, and X509Vnc.
#
# Default: $vncPasswdFile = "$vncUserDir/passwd";

# $vncStartup points to a script that will be started at the very beginning.
#
# Default: $vncStartup = "$vncUserDir/Xvnc-session";
$vncStartup = "/etc/X11/Xvnc-session";

# $xauthorityFile should be the path to the authority file that should be used
#                 by the Xtigervnc server.
#
# Default: $xauthorityFile = "$ENV{XAUTHORITY}"        # if the env var is defined.
# Default: $xauthorityFile = "$ENV{HOME}/.Xauthority"; # otherwise

# $desktopName should be set to the default name of the desktop.
#              This can be changed at the command line with -name.
#
# Default: $desktopName = "${HOSTFQDN}:nn ($USER)" # Where nn is the display number.

# $wmDecoration sets the adjustment of $geometry to accommodate the window decoration
#               used by the X11 window manager. This is used to fully display
#               the VNC desktop even if the VNC viewer is not in full screen mode.
#
# Default: $wmDecoration = "8x64";

# $geometry sets framebuffer width & height. A default can be derived if the
#           tigervncserver is run in a X session -- either $ENV{DISPLAY} or the
#           session given by $getDefaultFrom -- with the -xdisplaydefaults
#           option. The geometry can also be changed at the commandline with
#           the -geometry option. Otherwise, the fixed default provided below
#           will be used.
#
# Default: $geometry ="1280x1024";
$geometry = "1900x1200";

# $depth       sets the framebuffer color depth. Must be between 8 and 32.
# $pixelformat sets the default pixelformat.
#              A default can be derived if the tigervncserver is run in a
#              X session -- either $ENV{DISPLAY} or the session given by
#              $getDefaultFrom -- with the -xdisplaydefaults option. The depth
#              and pixelformat can also be changed at the commandline with
#              the -depth and -pixelformat options. Otherwise, the fixed
#              defaults provided below for the two settings will be used.
#
# Example: $depth = "16";
#          $pixelformat = "rgb565";
#
# Default: $depth = "24";
# Default: $pixelformat = undef;

# $getDefaultFrom sets the display for the -xdisplaydefaults option if
#                 tigervncserver is not called in an X session, i.e.,
#                 the $ENV{DISPLAY} variable is not set. The -xdisplaydefaults
#                 option can be used to derive values for the above three
#                 options, i.e., $geometry to $pixelformat. The $getDefaultFrom
#                 value will be added to the call of xdpyinfo.
#
# Example: $getDefaultFrom = "-display localhost:0";
#
# Default: $getDefaultFrom = undef;

# $rfbwait sets the maximum time in msec to wait for VNC client viewer.
# Default: $rfbwait = "30000";

# $localhost should the TigerVNC server only listen on localhost for
#            incoming VNC connections.
#
# Example: $localhost = "yes";
# Example: $localhost = "no";
#
# Default: $localhost = "yes"; # if $SecurityTypes does not contain any TLS*
#                              #    or X509* security types or the $SecurityTypes
#                              #    does contain at least on *None security type.
# Default: $localhost = "no";  # Otherwise

# $SecurityTypes a comma separated list of security types the TigerVNC
#                server will offer. Available are None, VncAuth, Plain,
#                TLSNone, TLSVnc, TLSPlain, X509None, X509Vnc, and X509Plain.
#
# Example: $SecurityTypes = "X509Vnc,X509Plain,TLSVnc,TLSPlain,VncAuth";
#
# Default: $SecurityTypes = "VncAuth"        # if localhost is enabled (the default)
# Default: $SecurityTypes = "VncAuth,TLSVnc" # otherwise

# $PlainUsers a comma separated list of users that are authorized to access
#             the VNC server if the security types Plain, TLSPlain, or
#             X509Plain are used to establish the connection. The password
#             for these users are check by the system via the PAM service
#             specified via $PAMService option.
#
# Example: $PlainUsers = "user1,user2";
#
# Default: $PlainUsers only contains the user starting the tigervncserver.

# $X509Cert and $X509Key contan the filenames for a certificate and its
#           key that is used for the security types X509None, X509Vnc,
#           and X509Plain.
#
# Default: $X509Cert is auto generated if absent and stored in
#                    ~/.vnc/${HOSTFQDN}-SrvCert.pem
# Default: $X509Key  is auto generated if absent and stored in
#                    ~/.vnc/${HOSTFQDN}-SrvKey.pem
#
# If filenames are given for $X509Cert and $X509Key either here or
# on the commandline via -X509Cert and -X509Key options, then
# the auto generation is disabled and the user has to take care
# that usable certificates are present.

1;

 

posted on 2024-06-05 15:11  heysong  阅读(22)  评论(0编辑  收藏  举报

导航