maksd, Вы сперва всё упростите, а потом только уже усложняйте, и всякий раз проверяйте - работает все еще, или уже нет. Откройте терминал, выполните в нем хотя бы такой уход на root'a
sudo -i
Строка приветствия изменится с
user@server:~$
на
root@server:~#
(заранее оговорюсь, что для выхода из такой сессии команда exit в том же окне терминала). Теперь в этом терминале проверяйте свою команду:
sudo -u umd google-play-music-desktop-player
Заработало? Скорее всего нет. Посты по ссылкам как правило читать принято полностью, а не самые понравившиеся моменты.
Вот Вами пропущенный сегмент.
who | awk '{print $1, $NF}' | tr -d "()" |
while read u d; do
id=$(id -u $u)
. /run/user/$id/dbus-session
export DBUS_SESSION_BUS_ADDRESS
export DISPLAY=$d
su $u -c "notify-send -t 3000 -u critical -i '$Micon' '$Mmessage'" &
done
Соответственно Вам следует попробовать (а я так понимаю, что umd - это у Вас имя пользователя):
sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus google-play-music-desktop-player
Ежели при этой команде окно плеера запустится, то можно прямо её и скормить udev вместо "команда1" в
этом примере. Если не запустится - попробуйте ввести
sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send ALERT
Оповещение с текстом "ALERT" появляется? Если появляется - значит проблема остается только в том, как правильно запустить сам google-play-music-desktop-player, какие еще переменные окружения надо ему указать (может ему путь к конфигурационному файлу задать надо, или еще чего). Ну и если такая цепочка отработала - то далее уже можно вытаскивать это все в скрипт, где вводить дополнительные проверки: запущен ли уже экземпляр плеера, если запущен - то дать текущему команду на воспроизведение, если не запущен - запустить новый и дать команду и т.п. А то Вы сразу в дебри полезли, и удивляетесь, что при этом ничего не работает