Каковы практические последствия, если таковые имеются, использования программного обеспечения, какие процессы не являются потомками менеджера окон?

Вы делали что-то как?:

source /path/to/.profile

5
14.01.2014, 06:45
2 ответа

Основная практическая реализация состоит в том, что потомки менеджера окон наследуют переменные среды менеджера окон. Это полезно для контакта с агентами криптографического ключа, такими как gpg-агент или ssh-агент, где менеджер по входу в систему запускает агенты так менеджер окон, и его потомки наследовались SSH_AGENT_PID и SSH_AUTH_SOCK переменные среды автоматически.

Можно выдержать сравнение /proc/PID/environ вывод для обоих процессов:

cat /proc/`pgrep openbox`/environ | xargs -0 -l1

с

cat /proc/`pgrep lxterminal`/environ | xargs -0 -l1

xargs -0 -l1 просто печатает завершенный пустым указателем вывод environ к нескольким строкам.

4
27.01.2020, 20:40
  • 1
    маленький критический анализ: foo нотация не рекомендуется/предпочитается POSIX. используйте $ (нечто) нотация вместо этого. –  strugee 14.01.2014, 00:28
  • 2
    у меня нет ssh агентов, работающих на моей установке, но когда я разность вывод окружаю для lxterminal (ppid=1) и roxterm (ppid=openbox), я получаю те же переменные, но для SHLVL (3 по сравнению с 1), у них также есть оба xdg_session_id=1. Таким образом, что-то еще(?) подает lxterminal те переменные за пределами строгого наследования, поскольку это не потомок openbox. +1 это полезно в понимании дизайна и практично. –   14.01.2014, 05:57
  • 3
    @strugee Похож на систему комментария, съел Ваши обратные галочки на `foo` нотация! В сценариях я использую $(foo) нотация как Вы предположили, однако на командной строке, я привык использовать обратные галочки и (если Ваша оболочка поддерживает ее, которым это вероятно) эти две нотации эквивалентны кроме случая, умножаются - вложенные обратные галочки, которые требуют выхода из внутренних обратных галочек - определенно место где $(foo) нотация лучше, но на практике который редко происходит, и когда она делает часто легче читать при смешивании этих двух нотаций. Например: echo `ls -lad "$(find /tmp -maxdepth 1)"` –  aculich 17.01.2014, 15:24

Нет ничего, что передает под мандат приложение, которое будет всегда связано с менеджером окон (если таковые имеются) или даже будет работать на той же операционной системе.

X-оконная система была разработана с начала сделать возможным для приложений (т.е. клиенты X11) для соединения удаленно с сервером X11 через сеть.

0
27.01.2020, 20:40

Теги

Похожие вопросы