如何在运行时检查程序是否在Weston环境中运行。 我在C中编写了一个Gtk + -3.0,我希望根据显示服务器技术,GUI运行不同的窗口大小和类似的提示。
更准确。我的系统是一个非常小的嵌入式Linux。我通过systemd启动weston:
# weston systemd service unit file [Unit] Description=Weston launcher After=systemd-user-sessions.service [Service] Environment=PATH=/usr/bin:/bin:/usr/sbin:/sbin Environment=HOME=/root ExecStart=/root/weston.sh Restart=always RestartSec=10 [Install] Alias=display-manager.service WantedBy=graphical.target
这是启动脚本:
#!/bin/bash # Weston startup file. export XDG_RUNTIME_DIR="/run/shm/wayland" mkdir -p "$XDG_RUNTIME_DIR" chmod 0700 "$XDG_RUNTIME_DIR" /usr/bin/weston --tty=1 --log=/var/log/weston.log
答案 0 :(得分:2)
http://manpages.ubuntu.com/manpages/saucy/man1/weston.1.html
尝试获取此环境变量 -
<强> WAYLAND_DISPLAY 强>
示例,使用getenv()...
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf("WESTON : %s\n", getenv("WAYLAND_DISPLAY"));
return(0);
}