如何检查 weston 环境
How to check a weston environment
如何在运行时检查程序是否在 Weston 环境中 运行。
我在 C 中编写了一个 Gtk+-3.0,我希望根据显示服务器技术,GUI 是 运行 不同的 windows 大小和类似的提示。
更准确地说。我的系统是一个很小的嵌入式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
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);
}
如何在运行时检查程序是否在 Weston 环境中 运行。 我在 C 中编写了一个 Gtk+-3.0,我希望根据显示服务器技术,GUI 是 运行 不同的 windows 大小和类似的提示。
更准确地说。我的系统是一个很小的嵌入式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
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);
}