解决VNC连接安了Ubuntu MATE系统的树莓派3b时出现灰屏的问题

本文详细介绍了如何在树莓派3b的Ubuntu MATE系统中配置VNC服务,包括安装vncserver、设置配置文件、调整分辨率等步骤,并提供了针对不同桌面环境的配置建议。

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

1) 首先安装vncserver服务这一步有没有用我也不知道,一般人都是装的tightvncserver,当然,我也装了)      

sudo apt-get install vnc4server
2)开启vnc服务  
vncserver 
     会给分配一个端口
3)在电脑端用VNC Viewer 登录,如果看到命令行界面+灰色背景,那就对了,去下一步
4)修改配置文件   
  
sudo nano ~/.vnc/xstartup
      进去之后复制粘贴一下内容:        
#!/bin/sh                                                                       
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
mate-session &
5)重启vnc服务,输入如下两个命令:     
vncserver -kill :1
vncserver
  在电脑端重新连接即可
此方法仅针对树莓派3b原生Ubuntu MATE系统
如果时其他系统,只需修改配置文件的最后一行

  mate-session &
改成什么呢?
先查看系统的桌面环境
echo $DESKTOP_SESSION
不要用putty,不然会返回为空的,应该在原有的设备上查看
如果是gnome桌面,改成gnome-session &;
如果是KDE桌面,改成startkde &;
如果是Unity桌面,首先去 /usr/share/gnome-session/sessions/下看桌面session的名称,如果是ubuntu-2d,则将最后一行改为:
export STARTUP="/usr/bin/gnome-session --session=ubuntu-2d"

$STARTUP


我查了一下午才搞定,好在搞懂了原理,太不容易了

如果上面还没有解决问题,就一定是分辨率的问题了

一种方法是启动vncserver时手动设定分辨率

vncserver -geometry 800x600

另一种方法是修改配置文件,详细方法见链接

http://blog.youkuaiyun.com/runningtortoises/article/details/51425332



如果还是不行,还可以修改另一个配置文件

sudo nano /usr/bin/vncserver

修改这一行为你需要的分辨率

vncserver -geometry 800x600



如果还还还是不行,就是xstartup权限不够了,执行下面的命令

chmod 777 xstartup


第二次更新

今天又一次vnc登录,又灰屏了,我慌了。。。查看配置文件后,发现是对的,然后kill了vncserver,又

vncserver -geometry 800x600

再在电脑端登录就好了。。。好了。。。了。。。


另外,我用windows自带的远程桌面访问,还是会出现问题,如图:


希望知道解决方法的同学能给我提供帮助


<think>嗯,用户的问题是关于在树莓派上的Ubuntu 20系统中设置和连接VNC的。我需要根据提供的引用资料来整理出一个步骤清晰的教程。首先,我得确认用户的需求:他们想要通过VNC远程访问树莓派Ubuntu桌面,避免每次连接外设。所以,教程需要涵盖VNC服务器、配置自启动以及连接方法。 根据引用内容,不同的引用提到了不同的VNC软件,比如tightvncserver和vnc4server。但引用[2]提到Ubuntu 20.04/22.10使用apt-get装tightvncserver,所以可能这是推荐的软件。不过引用[1]和[4]提到了vnc4server和Gnome3装,但用户的问题是关于Ubuntu 20,可能需要确认版本兼容性。不过用户明确问的是Ubuntu 20,所以应优先参考引用[2]的tightvncserver装步骤。 然后,装步骤应包括更新系统装tightvncserver,启动服务,设置密码,配置自启动。引用[1]提到通过编辑/etc/rc.local添加启动命令,但Ubuntu 20可能使用systemd,所以可能需要创建服务文件。不过引用[2]只是简单提到启动命令,可能需要进一步指导如何设置开机自启,比如使用systemd或者rc.local。引用[1]中的方法可能适用于Ubuntu 18,但不确定是否适用于20。用户可能需要检查系统是否支持rc.local,或者改用其他方法。 另外,引用[3]提到连接到同一局域网,所以在连接步骤中需要强调IP地址和端口号,比如使用IP:1这样的格式。引用[4]提到装Gnome3后的图形界面,但用户可能不需要装Gnome,因为Ubuntu 20可能已经带有桌面环境。不过如果用户装的是服务器版,可能需要装桌面环境,但问题中没有提到,所以可能默认用户已经装了桌面。 还需要注意防火墙设置,确保端口5901等开放,但引用中没有提到,可能需要补充。此外,VNC全性较低,可能需要提醒用户使用SSH隧道或其他加密方法,但用户可能只需要基本连接步骤。 总结步骤应该是:1. 装tightvncserver;2. 配置VNC服务器;3. 设置自启动;4. 连接使用VNC客户端。需要检查每个步骤的可行性和正确性,确保引用资料中的命令适用于Ubuntu 20。例如,引用[2]的装命令是适用的,但自启动可能需要不同的方法,如使用systemd服务或者crontab。 可能遇到的问题包括:无法启动VNC,分辨率问题,或者连接失败。需要提供常见问题解决方法,比如检查服务状态,确认端口开放,或者重新配置VNC设置。此外,引用[5]提到网络配置问题,可能需要确保树莓派联网,但用户的问题可能已经解决网络连接,所以可能不需要深入。 最后,生成相关问题需要考虑用户可能的后续疑问,比如性能优化、不同VNC软件比较、全设置等。需要根据教程内容提出相关问题,帮助用户进一步了解。</think>### 树莓派Ubuntu 20系统VNC配置教程 以下是分步配置方法,结合引用内容整理: --- #### **1. VNC服务器** Ubuntu 20默认未预装VNC服务,需手动装`tightvncserver`: ```bash sudo apt-get update sudo apt-get install tightvncserver ``` 装完成后,初始化VNC服务并设置密码(需输入两次密码,长度至少6位): ```bash vncserver ``` 首次运行会生成配置文件(默认端口为`:1`,对应端口号`5901`)[^2][^3]。 --- #### **2. 配置VNC桌面环境** 若系统装完整桌面(如仅使用Ubuntu Server),需先装桌面环境: ```bash sudo apt install ubuntu-desktop ``` 重启生效: ```bash sudo reboot ``` 若已装桌面环境(如GNOME或MATE),可直接配置VNC[^4]。 --- #### **3. 设置VNC开机自启动** **方法一:通过`systemd`服务(推荐)** 创建服务文件: ```bash sudo nano /etc/systemd/system/vncserver@.service ``` 添加以下内容(注意替换`<USERNAME>`为实际用户名): ``` [Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=<USERNAME> ExecStartPre=/bin/sh -c &#39;/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :&#39; ExecStart=/usr/bin/vncserver -geometry 1280x720 -depth 24 :%i 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 ``` **方法二:通过`rc.local`(传统方式)** 编辑`/etc/rc.local`,在`exit 0`前添加: ```bash su <USERNAME> -c "vncserver :1 -geometry 1280x720 -depth 24" ``` 重启生效: ```bash sudo reboot ``` [^1][^6]。 --- #### **4. 客户端连接VNC** 使用VNC Viewer(如RealVNC、TigerVNC)输入树莓派的IP和端口: - **格式**:`IP地址:端口号`(例如`192.168.1.36:1`) - 首次连接需输入设置的VNC密码[^3][^4]。 --- #### **5. 常见问题解决** - **黑或无响应**:检查防火墙是否开放`5901`端口,或尝试重启VNC服务: ```bash vncserver -kill :1 && vncserver :1 ``` - **分辨率调整**:启动指定分辨率,如: ```bash vncserver -geometry 1920x1080 :1 ``` - **网络问题**:确保树莓派与客户端在同一局域网,优先使用有线连接[^5]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值