![TigerVNC 通过脚本启动时出现黑屏](https://linux22.com/image/1207008/TigerVNC%20%E9%80%9A%E8%BF%87%E8%84%9A%E6%9C%AC%E5%90%AF%E5%8A%A8%E6%97%B6%E5%87%BA%E7%8E%B0%E9%BB%91%E5%B1%8F.png)
问题
我已经将 TigerVNC 服务器软件安装到在 VMware Workstation 中运行的 Ubuntu 18.04 客户机上。
在终端或 Xterm(客户机的)中手动执行以下行后,我可以通过 VNC 进入(即使用 VNC 查看器查看)客户机:
vncserver:1-localhost无-几何980x700-深度32
但是,运行脚本中的同一行(如下所示)只会在 VNC 查看器上显示黑屏,并且光标会变成一个点。
/bin/bash #!/bin/bash vncserver:1-localhost无-几何980x700-深度32
我应该对脚本做什么才能使其工作(给我一个合适的 VNC 屏幕)?
背景
我对 Ubuntu 和这个网站都很陌生。如果我遗漏了相关信息,请告诉我,我会用它更新问题。目前,我能想到以下几点。
并非所有脚本都会给我带来问题。例如,我使用下面的脚本就很好(在 Ubuntu 客户机中挂载 Windows 机器的共享文件夹)。
/bin/bash #!/bin/bash sudo mount -t cifs -o 用户名=tom,uid=1000,gid=1000 //192.168.0.17/d /home/loom/mnt/summer_d
但是,以下命令(旨在安装硬盘)失败,我必须sudo
在终端或 Xterm 中手动执行该行。
/bin/bash #!/bin/bash sudo mount /dev/sdb1 /home/loom/hdd/hdd5 -o uid=1000,gid=1000,utf8,dmask=027,fmask=137
当我手动执行时,我从脚本所在的同一目录执行此操作;所以这似乎不是一个问题。
当我双击该脚本时,它会加载到 Xterm 中。
echo $SHELL
在终端或 Xterm 中运行都会给我/bin/bash
。
正如您所看到的,我遇到了一个普遍的问题:脚本不能可靠地运行。
由于我认为脚本的 she-bang 行将其他行提供给特定的 shell,而其他行则输入我可能手动拥有的内容,所以我不明白为什么同一行应该或不应该根据它们的输入方式(手动或通过脚本)来工作。
一个好的答案会告诉我如何解决 VNC 的具体问题,并大致解释我在这些脚本中可能做错了什么。谢谢。
答案1
您将相关脚本放在哪里?它们必须位于属于您计算机的 $PATH 环境变量的目录中。您可以使用以下命令找到它
echo $PATH
应该返回类似这样的内容
回显 $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
如果它们位于其中一个文件夹中,您还应该检查您的脚本是否可执行。
如果不是,你必须移动到文件夹,打开终端并启动
sudo chmod +x script_name