Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Послать сообщение всем пользователям  (Прочитано 6556 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Re: Послать сообщение всем пользователям
« Ответ #15 : 09 Мая 2015, 19:10:20 »
ОК. Вижу. Только что я вижу? Как мне это поможет в изменении моего скрипта или в решении самой задачи? Как в скрипте автоматом подставить номер дисплея, который принадлежит этому пользователю? 

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Послать сообщение всем пользователям
« Ответ #16 : 09 Мая 2015, 20:10:16 »
папробуй.
w
Wars ~.o

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Re: Послать сообщение всем пользователям
« Ответ #17 : 09 Мая 2015, 21:12:47 »
crew@VBox:~$ w
 21:12:13 up  1:08,  5 users,  load average: 0.29, 0.45, 0.66
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
crew     tty7                      18:11    3:00m  1.10s  0.14s gnome-session --session=ubuntu
crew     pts/0    192.168.1.33     18:12    2:08m  0.38s  0.02s sshd: crew [priv]   
test1    tty8                      18:12    3:00m 13:48   0.02s /usr/bin/lxsession -s LXDE -e LXDE
test2    tty9                      18:13    3:00m 12:13   0.02s /usr/bin/lxsession -s LXDE -e LXDE
crew     pts/5    192.168.1.33     21:10    5.00s  0.16s  0.00s w

И?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Послать сообщение всем пользователям
« Ответ #18 : 09 Мая 2015, 21:59:39 »
так плохо, ни где :0 вывод, у всех работает.
L~$ w
 21:44:42 up 1 day,  3:37,  7 users,  load average: 0,19, 0,15, 0,14
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
victor00 :0       :0               Птн18   ?xdm?   3:06m 15.07s ....
victor00 pts/2    :0.0             Птн18    7:09m  0.46s  0.46s bash
victor00 pts/7    :0.0             Птн18   27:35m  0.20s  0.20s bash

я не знаю, есть другой.seq 0 10 | xargs -I {} bash -c 'DISPLAY=:{}.0 zenity --info --text={} &'

пример
seq 0 10 | xargs -I {} bash -c 'DISPLAY=:{}.0 zenity --info --text={} &'
Wars ~.o

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Re: Послать сообщение всем пользователям
« Ответ #19 : 10 Мая 2015, 11:39:47 »
Полностью рабочий вариант.

#!/bin/bash

for i in $(who -u | grep tty | awk '{print $1}');
    do
        T=`who -u | grep tty | grep $i | awk '{print $2}'`
        D=`ps aux | grep -v grep | grep -i "/usr/bin/X :" | grep $T | awk -F " " '{ print "127.0.0.1"$12 }'`

        echo "Найден пользователь $i - $T - $D"
        export XAUTHORITY=/home/$i/.Xauthority
        export DISPLAY=$D
        zenity --info --title="title" --text="msg" &
    done


update1 25.12.2015:

Похоже, что скрипт работает под 12.04, под которой он и писался. Для систем новее - его нужно переписывать.


update2:

Вроде бы, как-то так должно работать под 14.04
Цитировать
#!/bin/bash

for i in $(who -u | grep -v pts | awk '{print $1}');
    do
        T=`who -u | grep -v pts | grep $i | awk '{print $2}'`

        echo "Найден пользователь $i - $T"
        export XAUTHORITY=/home/$i/.Xauthority
        export DISPLAY=$T
        zenity --info --title="title" --text="msg" &
    done

« Последнее редактирование: 25 Декабря 2015, 20:19:52 от BAKT »

 

Страница сгенерирована за 0.016 секунд. Запросов: 19.