LINUX.ORG.RU

История изменений

Исправление kir2yar, (текущая версия) :

Ну ладно, уговорил. Но, всё равно, тут всё около одного направления.

Смех, смехом, но и весь системд около одного направления - нормальная системная прослойка.
Зачем? Ну хотя-бы затем, что бы мне не приходилось костылить свою реализацию мультисита на баш-лапше.
Или можно было управлять терминальным сервером на уровне сессий.
Тот-же loginctl позволяет столько старых костылей выбросить, что аж дух захватывает.

$ loginctl list-sessions 
   SESSION        UID USER             SEAT            
        c4       1001 ksu              seat0           
        c3       1000 yar              seat1
$ loginctl session-status c4
c4 - ksu (1001)
           Since: Ср 2016-05-18 18:37:48 YEKT; 6 days ago
          Leader: 24990 (lightdm)
            Seat: seat0; vc7
         Display: :1
         Service: lightdm; type x11; class user
         Desktop: xubuntu
           State: active
            Unit: session-c4.scope
***список процессов

Можно, конечно написать простыню для баша что бы получить информацию. Проблема в том, что иногда нужна выборка по сессиями или ситам. И один пользователь может создать несколько сессий / занять несколько ситов. И задача «прибей все, что выполняется на seat1» уже выглядит забавно, будучи реализованной в баше.

Для сравнения выхлоп who, старого способа узнать кто залогинен:

$ who
yar                   2016-05-18 18:14 (:0)
yar      pts/4        2016-05-18 18:14 (:0.0)
yar      pts/10       2016-05-18 18:15 (:0.0)
yar      pts/12       2016-05-18 18:26 (:0.0)
yar      pts/16       2016-05-18 18:27 (:0.0)
yar      pts/19       2016-05-18 18:36 (:0.0)
ksu      tty7         2016-05-18 18:37 (:1)
yar      pts/1        2016-05-18 20:53 (:0.0)
ksu      pts/3        2016-05-18 22:47 (:1.0)
yar      pts/9        2016-05-19 12:28 (:0.0)
yar      pts/17       2016-05-20 01:14 (:0.0)
yar      pts/20       2016-05-20 02:00 (:0.0)
yar      pts/23       2016-05-20 15:20 (:0.0)
yar      pts/24       2016-05-20 17:46 (:0.0)
yar      pts/25       2016-05-20 21:51 (:0.0)
yar      pts/26       2016-05-21 22:06 (:0.0)
yar      pts/28       2016-05-23 18:38 (:0.0)
yar      pts/27       2016-05-21 22:06 (:0.0)
yar      pts/29       2016-05-21 22:09 (:0.0)
yar      pts/32       2016-05-24 01:10 (:0.0)
yar      pts/33       2016-05-24 01:24 (:0.0)
yar      pts/34       2016-05-24 13:59 (:0.0)
yar      pts/35       2016-05-24 18:52 (:0.0)

Исходная версия kir2yar, :

Ну ладно, уговорил. Но, всё равно, тут всё около одного направления.

Смех, смехом, но и весь системд около одного направления - нормальная системная прослойка.
Зачем? Ну хотя-бы затем, что бы мне не приходилось костылить свою реализацию мультисита на баш-лапше.
Или можно было управлять терминальным сервером на уровне сессий.
Тот-же loginctl позволяет столько старых костылей выбросить, что аж дух захватывает.

$ loginctl list-sessions 
   SESSION        UID USER             SEAT            
        c4       1001 ksu              seat0           
        c3       1000 yar              seat1
$ loginctl session-status c4
c4 - ksu (1001)
           Since: Ср 2016-05-18 18:37:48 YEKT; 6 days ago
          Leader: 24990 (lightdm)
            Seat: seat0; vc7
         Display: :1
         Service: lightdm; type x11; class user
         Desktop: xubuntu
           State: active
            Unit: session-c4.scope
***список процессов

Можно, конечно написать простыню для баша что бы получить информацию. Проблема в том, что иногда нужна выборка по сессиями или ситам. И один пользователь может создать несколько сессий / занять несколько ситов. И задача «прибей все, что выполняется на seat1» уже выглядит забавно, будучи реализованной в баше.