Как проверить среду Weston

Как я могу во время выполнения проверить, работает ли программа в среде Weston. Я программирую Gtk+-3.0 на C и хочу, чтобы в зависимости от технологии Display Server графический интерфейс работал с окнами разного размера и подобными подсказками.

Чтобы быть более точным. Моя система представляет собой очень маленький встроенный 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

person zzeroo    schedule 04.08.2015    source источник


Ответы (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);
}
person Neil    schedule 04.08.2015
comment
К сожалению, WAYLAND_DISPLAY не установлен в моей среде. Я запускаю Weston через systemd и собственный скрипт bash. Это очень маленький встроенный проект. #!/bin/bash; export XDG_RUNTIME_DIR="/run/shm/wayland"; /usr/bin/weston --tty=1 --log=/var/log/weston.log - person zzeroo; 04.08.2015