代码之家  ›  专栏  ›  技术社区  ›  zzeroo

如何检查韦斯顿环境

  •  2
  • zzeroo  · 技术社区  · 9 年前

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

    更准确地说。我的系统是一个非常小的嵌入式linux。我通过systemd启动韦斯顿:

    # 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 回复  |  直到 9 年前
        1
  •  2
  •   Neil    9 年前

    http://manpages.ubuntu.com/manpages/saucy/man1/weston.1.html

    尝试获取此环境变量-

    航路_显示

    例如,使用getenv()。。。

    #include <stdio.h>
    #include <stdlib.h>
    
    int main ()
    {
       printf("WESTON : %s\n", getenv("WAYLAND_DISPLAY"));
       return(0);
    }