Zip подкаталоги на основе find, -exec

Я не знаю простого способа решить сопоставление / dev / ttyNN в $ DISPLAY ]. Однако это возможно. В моей системе на основе Debian это вернет локальное DISPLAY значение : 0 для X-сеанса, запущенного на / dev / tty7 :

xtty=/dev/tty7
xpid=$(lsof "$xtty" 2>/dev/null | awk '$1 == "Xorg" {print $2}')
test -n "$xpid" && ps -fp "$xpid" | awk '$2 == xpid {print $9}' xpid="$xpid"    # → :0

Промежуточные этапы: следующее.

  1. lsof возвращает все процессы, открытые на данном терминале tty. awk выбирает идентификатор процесса для процесса с именем Xorg . YMMV, если вы не используете этот конкретный сервер отображения X.

     lsof / dev / tty7 2> / dev / null 
    КОМАНДА PID ПОЛЬЗОВАТЕЛЬ FD ТИП РАЗМЕР УСТРОЙСТВА / ВЫКЛ ИМЯ УЗЛА 
    Xorg 695 root 8u CHR 4,7 0t0 1059 / dev / tty7 { {1}} 
  2. пс | Комбинация awk предоставляет достаточную информацию о согласованном процессе Xorg для доставки DISPLAY имя:

     ps -fp 695 
    UID PID PPID C STIME TTY TIME CMD 
    root 695 639 0 января 23 tty7 00:01:44 / usr / bin / X: 0 -seat seat0 -auth / var / run / lightdm 
     
1
10.04.2017, 22:48
0 ответов

Теги

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