第二十八章 DragonFlyBSD
第十节 远程桌面管理

VNC

启用 VNC 服务
TigerVNC Server:
使用 tightvnc 也可以。
1
# pkg install -y tigervnc-server
Copied!
安装之后,还要做一些设置。
  1. 1.
    在终端执行命令 vncpasswd,设置访问密码。
  2. 2.
    创建 ~/.vnc/xstartup 文件,内容如下:
1
#!/bin/sh
2
unset SESSION_MANAGER
3
unset DBUS_SESSION_BUS_ADDRESS
4
[ -x /etc/X11/xinit/xinitrc ] && exec /etc/X11/xinit/xinitrc
5
[ -f /etc/X11/xinit/xinitrc ] && exec sh /etc/X11/xinit/xinitrc
6
xsetroot -solid grey
7
$command &
Copied!
注意:$command 需要替换,请注意保留 &,在不同桌面下需要替换,Gnome 用 gnome-session,KDE 用 startplasma-x11, MATE 用 mate-session,Xfce 用 xfce4-session
保存后执行命令 # chmod 755 ~/.vnc/xstartup
  1. 1.
    接下来在终端执行命令 vncservervncserver :1
其中“:1”相当于 DISPLAY=:1,即指定桌面显示的通信端口为 1,对应 VNC 服务的通信端口为 5901。尽管桌面显示通信端口 是从 0 开始,但该端口已被当前桌面占用,因此 VNC 服务默认端口虽为 5900,但实际执行往往从 5901 开始。
如果启动服务时不指定通信端口,则系统根据使用情况自动指定。
关闭服务请用命令 # vncserver -kill :1,这里通信端口必须指定。
  1. 1.
    如果启用了防火墙,那么此时还需要开通防火墙,以 ipfw 为例,在终端输入命令:
1
# ipfw add allow tcp from any to me 5900-5910 in keep-state
Copied!
上行命令表示开通 5900-5910 的端口,即 DISPLAY 的 0-10 端口,通常情况下,即便需要开启很多桌面,10 个端口也足够了。最后别忘了将指令加入规则集文件,否则操作系统重启后会丢失。

XRDP

使用其他机器远程 FreeBSD

安装软件包(以 KDE5 桌面为基准):
1
# pkg install xorg kde5 xrdp wqy-fonts xdg-user-dirs
Copied!
配置:
1
# sysrc xrdp_enable="YES"
2
# sysrc xrdp_sesman_enable="YES"
3
# sysrc dbus_enable="YES"
Copied!
编辑 # ee /etc/fstab,添加:
1
proc /proc procfs rw 0 0
Copied!
编辑 /usr/local/etc/xrdp/startwm.sh
找到 #### start desktop environment,修改如下:
1
#### start desktop environment
2
# exec gnome-session
3
# exec mate-session
4
# exec start-lumina-desktop
5
exec ck-launch-session startplasma-x11 #更改此处
6
# exec startxfce4
7
# exec xterm #更改此处
Copied!
然后重启系统。
打开 windows 自带的远程桌面链接,输入 IP 地址/用户名/密码进行链接。
注意
如果看到一个背景是蓝色的菜单。请保持 xrdp 默认设置,第一行 Xorg,第二行 输入 FreeBSD 系统中的用户名,第三行输入其密码。点击 OK,即可进入桌面。

中文化(该用户使用 sh 作为 shell):

1
#### set environment variables here if you want
2
export LANG=zh_CN.UTF-8
Copied!

使用 FreeBSD 远程其他机器

安装命令:
1
# pkg install -y rdesktop
Copied!
但 rdesktop 安装后不会在系统中生成菜单,因此要在终端输入命令:
1
# rdesktop windows 设备 ip
Copied!
首次登陆设备会有安全提示,输入 yes,回车后远程桌面窗口就会弹出:

anydesk

通过使用 anydesk 可以远程协助:
1
# cd /usr/ports/deskutils/anydesk/ && make install clean
Copied!
即可。