如何检查Weston环境

时间:2015-08-04 09:28:08

标签: c gtk3 wayland

如何在运行时检查程序是否在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

1 个答案:

答案 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);
}