【问题标题】:How to check a weston environment如何检查韦斯顿环境
【发布时间】:2015-08-04 09:28:07
【问题描述】:

如何在运行时检查程序是否在 Weston 环境中运行。 我用 C 编写了一个 Gtk+-3.0,我希望根据显示服务器技术,GUI 运行不同的窗口大小和类似的提示。

更准确地说。我的系统是一个很小的嵌入式linux。我通过 systemd 启动 weston:

#weston systemd 服务单元文件 [单元] 描述=韦斯顿发射器 After=systemd-user-sessions.service [服务] 环境=PATH=/usr/bin:/bin:/usr/sbin:/sbin 环境=HOME=/root ExecStart=/root/weston.sh 重启=总是 重启秒=10 [安装] 别名=display-manager.service WantedBy=graphical.target

这是启动脚本:

#!/bin/bash # Weston 启动文件。 导出 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

【问题讨论】:

    标签: c gtk3 wayland


    【解决方案1】:

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

    【讨论】:

    • 不幸的是,我的环境中没有设置 WAYLAND_DISPLAY。我通过 systemd 和自定义 bash 脚本启动 weston。这是一个非常小的嵌入式项目。 #!/bin/bash; export XDG_RUNTIME_DIR="/run/shm/wayland"; /usr/bin/weston --tty=1 --log=/var/log/weston.log
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 2018-07-01
    • 2015-02-25
    相关资源
    最近更新 更多