有时候需要远程Linux主机有图形界面,这个时候就需要配置VNC远程登录。能在Linux桌面中远程Windows系统吗?能在Windows系统中直接打开Linux的桌面应用程序吗?在这里全部告诉你。

openSUSE配置VNC

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 1. 安装软件
zypper in gnome-shell 或 zypper in kde
zypper in vncmanager
# zypper in tigervnc 这个可以不装

# 2. 修改系统默认启动图形界面
rm /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
reboot

# 3. 启动VNC窗口
vncserver :2

# 4. 修改窗口大小和session模式
# vi /root/.vnc/config
geometry=1440x900
alwaysshared

# 5. 关闭vnc
vncserver -kill :2

如果无法正常看到图形界面,下面几个方法尝试一下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 可以考虑接上显示器,在tty0终端窗口中执行初始化
startx

# 考虑修改这两个文件中的shell类型,不过好像新版suse无用
/etc/sysconfig/windowmanager	# DEFAULT_WM="gnome"
/etc/sysconfig/displaymanager 	# DISPLAYMANAGER="gdm"
# 参考:https://blog.csdn.net/gscevx98/article/details/48729257

# ps: 新版opensuse中用这几个命令换不通的图形shell
update-alternatives --list default-displaymanager
update-alternatives --config default-displaymanager
update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/<choice>

如果VNC远程出现:Authenticaation error,无法输入账号密码:可以在yast2中打开VNC的Admin访问功能

image-20201211231732115

或者把下面的地方都改成yes

image-20201211231455606

万能的日志

我在远程服务器openSUSE15.0的系统中安装了gnome-shell,然后按上面的设置启动VNC,结果发现登录之后黑乎乎一片,啥也看不到啊。各种折腾,上网搜索都是些浅显的问题。好吧,看/root/.vnc/下面的日志,不看不知道,一看吓一跳,出错了:

1
GLib-GIO-ERROR **: Settings schema 'org.gnome.desktop.background.lockdialog' is not installed

上google一贴,结果出来了,少安装一个包 gsettings-desktop-schemas,安装完之后重启VNC:

1
2
3
4
zypper in gsettings-desktop-schemas

vncserver -kill :2
vncserver :2

vnc view 上去终于看到久违的图形界面了。不得不感叹:万错看日志,不要瞎抓瞎,直接找谷歌。

CentOS配置VNC

在安装VNC之前可以检查系统是否支持图形化桌面显示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 检查系统当前默认显示模式
systemctl get-default
# 更改模式命令:
systemctl set-default graphical.target  # 由命令行模式更改为图形界面模式
systemctl set-default multi-user.target # 由图形界面模式更改为命令行模式

# 如果系统没有安装图形化,可以先查询,然后用命令安装
yum grouplist #会出现一个列表,根据自己的需求选择带desktop的安装
yum groupinstall "GNOME Desktop"

# 断开默认启动方式,修改为图形显示
unlink /etc/systemd/system/default.target
或者:rm /etc/systemd/system/default.target
# 创建图形启动方式为默认启动方式
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

下面安装并启动VNC

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 安装 tigervnc-server
yum install -y tigervnc-server 
yum install -y tigervnc-server-module

# ++++++++++++++++++++++++++
# 修改 tigervnc配置文件,加入用户对于的端口号配置
# cd /etc/tigervnc
vi /etc/tigervnc/vncserver.users
[root@cdtst tigervnc]# cat vncserver.users 
# TigerVNC User assignment
:2=root
:3=bmc
# 修改vncsession的默认配置
# vi /etc/tigervnc/vncserver-config-defaults
session=gnome
securitytypes=vncauth,tlsvnc
desktop=sandbox
geometry=1440x900
alwaysshared
# 也可以修改强制配置
# vi /etc/tigervnc/vncserver-config-mandatory

# ++++++++++++++++++++++++++
# 设置密码,分别进入对于的用户,设置vnc访问的密码
su - bmc
vncpasswd

# ++++++++++++++++++++++++++
# copy 配置文件
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2

# 修改这份配置文件
vi vncserver@\:2
# 修改如下
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
WorkingDirectory=/root
User=root
Group=root

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

[Install]
WantedBy=multi-user.target

# ++++++++++++++++++++++++++
# 重新加载 systemctl,启动、停止、查看服务状态
systemctl daemon-reload
systemctl status vncserver@:2
systemctl start vncserver@:2
systemctl stop vncserver@:2
# 查看端口
netstat -ano|grep 5902

参考:

https://blog.csdn.net/qq1933835572/article/details/106892403

https://linux.cn/article-11458-1.html

能在Linux图形界面中远程Windows吗?

1
2
zipper in rdesktop
rdesktop -g 1440x900 -f -P -z -x l -r sound:off -u administrator 10.10.98.166:3389

神器:Xming + PuTTY 能在Windows中打开远程Linux的桌面窗口

Linux中有一款文本编辑软件gedit,可以实验实验。

(完)