这周我们进行了课设,需要GTK工具,但是出现了一个我很头疼的问题,足足卡了好几天,最后终于解决了!
gcc yemian.c -o yemian `pkg-config --cflags --libs gtk+-2.0
./yemian
之后就出现这样的问题:
(yemian:11996): Gtk-WARNING **: 09:08:45.714: cannot open display:
这个错误提示表明 GTK 库无法打开显示,通常是由于缺少 X 窗口系统环境或者未正确设置显示环境变量引起的。
解决方法:
1.如果你是远程ssh登录,则需要尝试以下命令:
ssh -X username@your_server_ip
2.如果不是远程登录,需要检查你的环境变量
echo $DISPLAY
如果输出为空或者不正确的地址,需要设置正确的显示地址。通常情况下,它应该是 “:0”,如果不是,采用下面命令:
export DISPLAY=:0
3.最好使用普通用户!!!(重要)登录,因为我是root用户登录才出现这个问题,开始没给提示,后来有个这样的提示:Authorization required,but no authorization protocol specified
虽然具体我也不太了解为什么,知道的同学可以评论评论,反正使用普通用户就好啦!
4.检查 X 服务器是否运行: 确保 X 服务器正在运行。你可以通过运行以下命令来检查:
ps aux | grep Xorg
5.如果没有 X 服务器的进程在运行,可能需要启动 X 服务器。
重新启动 X 服务器: 尝试重新启动 X 服务器,有时候这可能会解决问题:
sudo service lightdm restart # 用于 Ubuntu 等使用 LightDM 的系统
或者
sudo service gdm restart # 用于使用 GDM 的系统
或者
startx
具体的命令可能因你的系统而异。
6.检查权限问题: 确保你有权限运行图形应用程序。在一些情况下,可能是权限问题导致的。
如果上述方法都无法解决问题,可能需要更详细的信息来进一步诊断。你可以尝试查看应用程序的日志或者错误输出,以获取更多的线索。