我的系统由运行Ubuntu18.04LTS的笔记本电脑和运行Centos 7的服务器组成。我在Centos机器上安装了tigervnc,并将其全部设置为一个用户使用Remmina远程桌面访问机器。我使用了以下指南。它对我设置为它的第一个用户很好,但是对于第二个用户,我将其设置为桌面显示为黑色。两个用户都有相同的配置,唯一的更改是配置中的编号和用户凭据。我不知道为什么它不工作的第二个用户。
我以用户身份登录并运行命令来创建vnc文件:
vncserver完成所需的字段,然后在用户主文件夹结构中创建所需的文件。我为第一个和第二个用户做了这个。
然后我复制了该文件:
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service下面是第二个用户的/home//.vnc/xstartup内容,注意,除了用户凭据之外,它与第一个完全相同:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
gnome-session –session=gnome-classic &
gnome-panel&/etc/systemd/system/vncserver@\:2.service文件的内容:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home//.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target将替换为用户登录名。
我使用以下步骤启动vnc进程,确保已停止并禁用了第一次用户vnc会话:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:2.service
sudo systemctl start vncserver@:2.service
sudo systemctl status vncserver@:2.service产出:
● vncserver@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-02-06 09:44:37 GMT; 6s ago
Process: 952 ExecStart=/usr/sbin/runuser -l -c /usr/bin/vncserver %i -geometry 1280x1024 (code=exited, status=0/SUCCESS)
Process: 947 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 1011 (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:2.service
‣ 1011 /usr/bin/Xvnc :2 -auth /home//.Xauthority -desktop venus:2 () -fp catalogue:/etc/...
Feb 06 09:44:33 venus systemd[1]: Starting Remote desktop service (VNC)...
Feb 06 09:44:37 venus systemd[1]: Started Remote desktop serv日志文件/home//.vnc/venus\:2.log的输出:
Xvnc TigerVNC 1.8.0 - built Aug 9 2019 03:04:19
Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12001000, The X.Org Foundation
Thu Feb 6 09:44:34 2020
vncext: VNC extension running!
vncext: Listening for VNC connections on all interface(s), port 5902
vncext: created VNC server for screen 0
/home//.vnc/xstartup: line 15: gnome-panel: command not found
GLib-GIO-Message: 09:44:37.641: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
** (process:1046): WARNING **: 09:44:37.688: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Could not connect: Connection refused
Thu Feb 6 09:44:50 2020
Connections: accepted: 10.0.12.148::59266
SConnection: Client needs protocol version 3.8
SConnection: Client requests security type VeNCrypt(19)
SVeNCrypt: Client requests security type TLSVnc (258)
Thu Feb 6 09:44:53 2020
VNCSConnST: Server default pixel format depth 24 (32bpp) little-endian rgb888
VNCSConnST: Client pixel format depth 15 (16bpp) little-endian rgb555
Thu Feb 6 09:45:19 2020
Connections: closed: 10.0.12.148::59266 (Clean disconnection)
EncodeManager: Framebuffer updates: 1
EncodeManager: Tight:
EncodeManager: Solid: 1 rects, 1.31072 Mpixels
EncodeManager: 15 B (1:174763 ratio)
EncodeManager: Total: 1 rects, 1.31072 Mpixels
EncodeManager: 15 B (1:174763 ratio)
TLS: TLS session wasn't terminated gracefully
ComparingUpdateTracker: 0 pixels in / 0 pixels out
ComparingUpdateTracker: (1:-nan ratio)日志文件的这一点似乎与为第一个用户:** (process:1046): WARNING **: 09:44:37.688: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Could not connect: Connection refused创建的日志文件不同。
任何帮助都将不胜感激。
发布于 2020-02-07 14:40:16
结果是,解决方案是从$PATH环境变量中删除Anaconda框架。因此,在我的示例中,用户/home//.bashrc文件需要下面注释掉的字段来显示如下所示:
#__conda_setup="$('/home//anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
#if [ $? -eq 0 ]; then
# eval "$__conda_setup"
#else
# if [ -f "/home//anaconda3/etc/profile.d/conda.sh" ]; then
# . "/home//anaconda3/etc/profile.d/conda.sh"
# else
# export PATH="/home//anaconda3/bin:$PATH"
# fi
#fi
#unset __conda_setup运行source .bashrc。然后,远程桌面是可能的。一旦建立了连接,并且您在远程桌面上,取消对上述行的注释并运行source .bashrc,以便能够在远程桌面会话中使用Anaconda。
https://askubuntu.com/questions/1208482
复制相似问题