Определите, является ли приложение Wayland или X-клиентом

Есть ли способ определить, является ли произвольное приложение X-клиентом или клиентом Wayland (или ни тем, ни другим) из командной строки, не запуская его полностью?


person George    schedule 17.04.2017    source источник
comment
Стоит отметить, что большинство программ используют внешнюю библиотеку для своего интерфейса (Gtk, Qt, SDL), и они могут быть клиентами любой из них, в зависимости от того, как вы их настроили.   -  person PatJ    schedule 27.04.2017


Ответы (2)


Вы можете запустить ldd на двоичном файле, чтобы проверить, с какими библиотеками он связан. Если у него есть «libwayland-client», вы, вероятно, смотрите на клиент Wayland. Для X вам нужно искать «libX11» или «libxcb».

person Alexander Sukhoverkhov    schedule 19.04.2017
comment
Интересный подход. - person George; 20.04.2017

Чтобы расширить отличный ответ, данный @Alexander Sukhoverkhov, нужно сделать следующее:

cd /usr/bin
ldd $application_name | grep wayland

Кроме того, чтобы проверить, какие двоичные файлы поддерживают wayland, вы можете попробовать:

cd /usr/bin
find . | xargs ldd | grep wayland -B 55

Вышеупомянутое не очень чисто, но работает. Вы можете передать его в файл, а затем использовать vim для навигации.

cd /usr/bin
find . | xargs ldd | grep wayland -B 55 >> candidates
vim candidates
# Use vi movement

Флаг -B означает «до» и помогает напечатать двоичное имя.

person HaoZeke    schedule 04.09.2018