放弃 Tightvnc, 选择 Tigervnc

本文分享了一次从TightVNC切换到TigerVNC的经历,主要原因是为了解决Qt5下的键盘映射问题及寻找更活跃维护的替代方案。文中详细介绍了配置步骤,包括移除旧的TightVNC设置、安装和配置TigerVNC以及将其设置为systemd服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构建headless vnc server ,我终于放弃了Tightvnc

基于以下原因

1) 已知的Qt5的键盘映射问题,导致virtualbox 的使用出现困难

https://unix.stackexchange.com/questions/346107/keyboard-mapping-wrong-only-in-specific-applications-under-tightvnc

2) tightvnc 已经好久没有更新了

 

替换的方法:


1) 移除原有的关于 tightvnc 的设置

      a) apt-get remove tightvncserver

      b) /etc/rc.local 里,把原来的设置去掉。 这回我们要用systemd了

#su oracle  -c "vncserver -geometry 1600x900 -alwaysshared :0"

      c) xstartup 文件,似乎可以简化成如下

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

 

2 ) 安装 Tiger Vnc

 a) 官网上的1.8版本,只有现成的 二进制版本,没有 deb 也没有 apt的仓库

cp -r usr /

 b) ~/.vnc/config 文件

securitytypes=vncauth,tlsvnc
desktop=breeze-desk
geometry=1600x900
# localhost
alwaysshared

3 ) 安装到 systemd

  a) /etc/systemd/system/tigervncserver.service

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=oracle
PAMName=login
PIDFile=/home/oracle/.vnc/%H:0.pid
ExecStartPre=-/usr/bin/vncserver -kill :0 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1600x900 :0
ExecStop=/usr/bin/vncserver -kill :0

[Install]
WantedBy=multi-user.target

  b) 

sudo systemctl daemon-reload

  c)

sudo systemctl enable tigervncserver.service

  d)

sudo systemctl start tigervncserver

参考:

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04

 

转载于:https://www.cnblogs.com/johnsonshu/p/8432307.html

<think>嗯,用户想在Ubuntu 24.04上安装配置TightVNC。首先,我需要确认Ubuntu 24.04的版本情况。根据引用[2],Ubuntu 24.04可能已经正式放弃VNC,转而使用Wayland,而VNC基于Xorg,导致兼容性问题,比如黑屏。那用户可能遇到的问题解决方案需要考虑这一点。 首先,用户需要安装TightVNC。根据引用[3],可能需要先卸载旧版本的xrdptightvncserver,然后安装新版本。但要注意,Ubuntu 24.04默认的桌面环境是否支持VNC。如果使用Wayland,可能需要切换到Xorg会话。比如,在登录界面选择Xorg而不是Wayland。 然后,安装tightvncserver的步骤应该包括更新软件包索引,安装tightvncserver,然后配置vncserver文件,设置密码,编辑xstartup脚本。可能需要使用传统的~/.vnc/xstartup文件来启动XFCE或其他兼容的桌面环境,因为Gnome在Wayland下可能无法工作。 此外,用户可能需要配置防火墙,允许5901端口。启动服务后,使用VNC客户端连接。如果遇到黑屏问题,可能需要检查桌面环境是否兼容,或者切换到Xorg。引用[3]中提到,使用xrdp 1.5版本可能有效,但用户问的是TightVNC,可能需要不同的处理。 总结步骤应该是:安装tightvncserver,配置xstartup使用Xfce或其他Xorg兼容的桌面,设置VNC密码,启动服务,配置防火墙,然后连接。同时提醒用户可能的兼容性问题,如黑屏,并建议切换桌面环境到Xorg。</think>### 在 Ubuntu 24.04 上安装配置 TightVNC 的步骤 #### 1. **安装 TightVNC Server** 由于 Ubuntu 24.04 默认使用 Wayland 显示协议(VNC 基于 Xorg,存在兼容性问题[^2]),建议先切换为 Xorg 会话(若需使用 Gnome 桌面)或安装轻量级桌面环境(如 Xfce): ```bash # 更新软件源 sudo apt update # 安装 TightVNC Server sudo apt install tightvncserver # 安装 Xfce 桌面(可选,推荐) sudo apt install xfce4 xfce4-goodies ``` #### 2. **配置 VNC 服务** 首次运行需设置访问密码: ```bash vncserver # 输入并确认密码(8位限制) # 可选设置只读密码 ``` 首次运行后,需手动终止默认会话: ```bash vncserver -kill :1 ``` #### 3. **编辑启动脚本** 修改 `~/.vnc/xstartup` 以指定桌面环境(例如 Xfce): ```bash #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 ``` 赋予执行权限: ```bash chmod +x ~/.vnc/xstartup ``` #### 4. **配置系统服务** 创建服务文件 `/etc/systemd/system/vncserver@.service`: ```bash [Unit] Description=TightVNC Server After=syslog.target network.target [Service] Type=simple User=ubuntu # 替换为实际用户名 ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24 ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target ``` 启用并启动服务: ```bash sudo systemctl daemon-reload sudo systemctl enable vncserver@1.service sudo systemctl start vncserver@1.service ``` #### 5. **防火墙配置** 允许 VNC 默认端口(5901): ```bash sudo ufw allow 5901 ``` #### 6. **客户端连接** 使用 VNC 客户端(如 TigerVNC、RealVNC)输入: ``` <服务器IP>:5901 ``` --- ### **注意事项** 1. **Wayland 兼容性问题** Ubuntu 24.04 默认使用 Wayland,可能导致 VNC 黑屏。建议在登录界面选择 **"Ubuntu on Xorg"** 会话。 2. **轻量级桌面推荐** Xfce 或 LXQt 在低带宽下性能更佳。 3. **安全性增强** 建议通过 SSH 隧道加密 VNC 连接: ```bash ssh -L 5901:localhost:5901 user@server_ip ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值