Zenity отказывается работать в фоне

Действительно не может разбить awk сценарий выше, но здесь рубиновое решение,

#!/usr/bin/ruby1.9.1

puts "id\tnumber4\tnumber5\tnumber6"

ARGF.each_line do |line|
  arr = line.split(',')
  puts "#{arr[1]}\t#{arr[5]}\t#{arr[6]}\t#{arr[7]}" if arr[5].to_f > 4.0
end

Для использования сценария называют его с именем файла или передают файл по каналу в него.

1
21.01.2017, 00:38
2 ответа

У меня была подобная проблема прежде, когда я проверил $DISPLAY, Я заметил, что это ничего не имело, таким образом, я должен был установить его, и также я должен был использовать xhost + позволить сообщению раскрываться.

Попробуйте следующую опцию команды установить дисплей:

xhost +
zenity --warning --text "Warning message here" --display="yourmachine:0.0"
1
27.01.2020, 23:38
  • 1
    Это все еще не работает на меня, к сожалению. Какие-либо другие идеи? –   29.01.2014, 17:17
  • 2
    Неважно я нашел проблему. Я запускал свой скрипт как корень, но потому что я был зарегистрирован как типичный пользователь, которого не показали всплывающее окно. (Я предполагаю, что это должно остановить другое всплывающее появление народов, если существует больше чем один зарегистрированный пользователь), –   29.01.2014, 17:52

Похоже, OP решил эту проблему, но у меня был тот же самый основной вопрос, так что вот быстрое решение для всех остальных. При работе в фоновом режиме возникает следующая ошибка:

Gtk-Message: GtkDialog сопоставлен без временного родителя. Это не приветствуется.

Я запускаю zenity в сценарии с помощью команды at -f script.sh , , поэтому переменная среды $ DISPLAY должна быть установлена ​​перед запуском команды :

env DISPLAY=:0.0 zenity --warning --text "TIME TO CLOCKOUT!"

Теперь работает.

1
27.01.2020, 23:38

Теги

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