我想在我的 Raspberry Pi B+ 上设置 TigerVNC(因为它支持 XRandR)。因此,我从 TigerVNC Github repo 下载了源代码,并使用 CMake 直接在 Raspberry 上进行编译。它编译成功,因此满足所有依赖关系。当我启动服务器时,它会抛出以下信息:
Could not start Xvnc.
/usr/local/bin/Xvnc: 1: /usr/local/bin/Xvnc: Syntax error: ")" unexpected
在发生该错误之前,它告诉我 TigerVNC 找不到 Xvnc 二进制文件,所以我复制了它:
vncserver: couldn't find "/usr/local/bin/Xvnc".
cp /usr/bin/Xvnc /usr/local/bin/Xvnc
发出 cp 命令后,我遇到了第一个错误。我还尝试手动运行 TigerVNC:
Xvnc
-bash: /usr/local/bin/Xvnc: cannot execute binary file
使用文件打印:
Xvnc: ERROR: cannot open `Xvnc' (No such file or directory)
以 root 身份运行不会改变任何东西。
编辑:命令:
ls -l /usr/local/bin/Xvnc
-rwxr-xr-x 1 root root 1225600 Dec 21 16:43 /usr/local/bin/Xvnc
file /usr/local/bin/Xvnc
/usr/local/bin/Xvnc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.0, stripped
ldd /usr/local/bin/Xvnc
not a dynamic executable
为什么它是 64 位可执行文件?Raspberry CPU 是 32 位 ARM BCM2835,为什么它不是动态的?我使用 cmake 编译了它,使用动态链接而不是静态链接。