VNC: Couldn't start Xvnc; trying default font path.

* 安装tightvnc server后
* 运行vncserver,出现下面错误:
Couldn't start Xvnc; trying default font path.

 


解决办法:- 在xterm上敲"xset q",得到fontpath,然后修改/usr/bin/vncserver中的fontpath
然后就可以启动vncserver了。

<think> 我们正在解决vncserver提示找不到“/bin/vncpasswd”的问题。根据引用资料,我们知道在设置vnc密码时,通常使用`vncpasswd`命令,但系统提示找不到该命令,说明该命令可能不在默认的PATH路径中,或者vncserver相关的包没有正确安装。 解决思路: 1. 确认vncserver是否已安装,以及安装的版本。 2. 查找`vncpasswd`命令的实际位置,并将其添加到PATH中或者创建符号链接到/bin或/usr/bin目录下。 3. 或者重新安装vncserver,确保安装完整。 根据引用[1][2][3][4]中提到的信息,特别是在CentOS7环境下,通常通过安装tigervnc-server包来提供vncserver服务。 步骤: 1. 首先确认是否安装了tigervnc-server以及相关的客户端包(如tigervnc)。如果没有安装,先安装它们。 2. 如果已经安装,那么查找`vncpasswd`命令的位置,然后创建符号链接到/bin或/usr/bin目录下(或者直接将找到的路径添加到PATH环境变量中)。 具体操作: 步骤1:检查安装 在CentOS7中,可以使用yum来安装tigervnc-server: ```bash sudo yum install tigervnc-server tigervnc ``` 步骤2:如果已经安装,则查找vncpasswd的位置: ```bash sudo find / -name vncpasswd -type f 2>/dev/null ``` 这个命令可能会返回类似这样的路径:`/usr/bin/vncpasswd`。如果找到了,我们可以检查/usr/bin是否在PATH中(通常是在的),那么为什么找不到呢?可能是由于没有安装完整,或者安装后没有更新环境变量。 如果确实在/usr/bin下,那么我们可以尝试直接运行`/usr/bin/vncpasswd`,看是否可行。 但是,如果用户运行的是`/bin/vncpasswd`,而实际上vncpasswd在/usr/bin下,那么我们可以创建一个符号链接: ```bash sudo ln -s /usr/bin/vncpasswd /bin/vncpasswd ``` 这样,在/bin目录下就会有一个指向/usr/bin/vncpasswd的链接,命令就可以找到了。 另外,根据引用[3]中提到的,配置vncserver时需要设置用户和环境,所以也要注意当前用户的环境变量。 步骤3:设置vnc密码 在确保vncpasswd可用后,切换到需要运行vncserver的用户(如root用户或普通用户),然后运行: ```bash vncpasswd ``` 输入密码(该密码用于连接vnc服务)。 步骤4:配置并启动服务(根据引用[2]和[3]中的方法) 例如,复制服务配置文件,修改用户和display number,然后启动服务。 注意:如果按照引用[2]的方法,需要编辑`/usr/bin/vncserver_wrapper`脚本(如果有的话)以及服务配置文件。但当前问题主要是找不到vncpasswd,所以解决了命令路径问题后,再按照标准流程配置。 总结解决方法: 1. 安装tigervnc-server和tigervnc(如果未安装)。 2. 找到vncpasswd的实际位置(通常在/usr/bin/vncpasswd),并确保它在PATH中。如果不在PATH中,可以创建符号链接到/bin或/usr/bin(如果PATH包含这两个目录)或者将所在目录加入PATH。 3. 重新运行vncpasswd设置密码。 根据以上步骤,我们可以写出具体的解决方案。 </think> 针对vncserver提示找不到`/bin/vncpasswd`的问题,结合引用资料中的配置要点,解决方法如下: ### 解决方法 1. **确认软件包安装状态** 首先检查是否完整安装了TigerVNC组件: ```bash sudo yum list installed | grep -E 'tigervnc-server|tigervnc' ``` 若未安装完整,执行: ```bash sudo yum install tigervnc-server tigervnc ``` 2. **创建符号链接(关键步骤)** `vncpasswd`实际安装在`/usr/bin/`目录,创建软链接到`/bin/`: ```bash sudo ln -s /usr/bin/vncpasswd /bin/vncpasswd ``` 验证链接: ```bash ls -l /bin/vncpasswd # 应显示指向/usr/bin/vncpasswd的链接 ``` 3. **配置用户密码** ```bash # 切换到目标用户(如普通用户st-jun) su - st-jun vncpasswd # 输入并确认VNC连接密码 ``` > 注意:必须切换到相应用户环境执行[^1][^3] 4. **修正服务配置文件** 编辑服务文件(以`:2`为例): ```bash sudo vi /etc/systemd/system/vncserver@\:2.service ``` 确认以下配置: ```ini [Service] User=st-jun # 改为实际用户名[^2] ExecStart=/usr/bin/vncserver_wrapper %i # 确保路径正确[^2] ``` 5. **重载并启动服务** ```bash sudo systemctl daemon-reload sudo systemctl enable vncserver@:2.service sudo systemctl start vncserver@:2.service ``` 检查状态: ```bash systemctl status vncserver@:2.service # 参照引用[1][^4]的错误诊断方法 ``` ### 故障排查 - **检查路径环境**: ```bash echo $PATH # 确保/usr/bin在路径中 ``` - **查看日志细节**: ```bash journalctl -xe -u vncserver@:2.service # 分析具体错误[^1][^4] ``` --- ### 相关问题 1. 如何为多个用户配置不同的VNC显示端口(Display Number)? 2. 如何在CentOS 7防火墙中开放VNC服务端口? 3. 如何解决VNC连接后出现灰色屏幕或无法启动桌面环境的问题? [^1]: 引用1:用户切换环境设置密码的重要性 [^2]: 引用2:服务配置文件中路径和用户的修改要点 [^3]: 引用3:Display Number与用户配置的关联 [^4]: 引用4:服务启动失败后的日志诊断方法
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值