Автор Тема: Как выполнить в xfce4-terminal два действия последовательно одной командой?  (Прочитано 7349 раз)

Оффлайн hasculdr

  • Давно тут
  • **
  • Сообщений: 485
Хочу сделать ярлык для консольного прогноза погоды. Создал значок запуска с командой
xfce4-terminal --maximize -H --command='curl wttr.in/~Балаково?lang=ru'но так вывод как бы обрывается нижней частью окна, в заранее открытом терминале такого эффекта нет. Попробовал xfce4-terminal --maximize -H --command='sleep 1' --command='curl wttr.in/~Балаково?lang=ru' но ничего не изменилось, как-будто выполняются параллельно.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
После этой команды, смотреться будет на два порядка лучше:
xterm -maximized -rv -title 'Прогноз погоды Балаково' +sb -hold -e 'curl wttr.in/~Балаково?lang=ru'
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
Либо так:
xterm -maximized -rv -title 'Прогноз погоды Балаково' +sb -fa 'Terminus' -fs 12 -hold -e curl wttr.in/~Балаково?lang=ru
xterm -maximized -rv -title 'Прогноз погоды Балаково' +sb -fa 'Monospace' -fs 9 -hold -e curl wttr.in/~Балаково?lang=ru

-maximized
Максимизировать окно
-rv
Выполнить реверс цветов
-title
Заголовок окна
+sb
Не отображать скролбар
-fa
Имя фонта
-fs
Размер фонта
-hold
Не закрывать окно после выполнения команды
-e
Выполнить команду (должна быть последней опцией в строке)
« Последнее редактирование: 29.05.2018 15:54:46 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн hasculdr

  • Давно тут
  • **
  • Сообщений: 485
xfce4-terminal --maximize +sb -H -e 'curl wttr.in/~Балаково?lang=ru'почему-то не работает, без "+sb" вывод снова оборван. Непонятно в каком месте у Вас решается проблема. И не понятно почему в самом первом примере вывод помещается в 1 "страницу".

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
Непонятно в каком месте у Вас решается проблема. И не понятно почему в самом первом примере вывод помещается в 1 "страницу".

:-) Там (в sysv-xfce) по-умолчанию фонт Fixed 11 и все строки помещаются в окне терминала на дисплее 1366x768.
В последней команде, фонт Monospace 9, размером поменьше и все строки тоже помещаются в окне.
Но не таким размером, - фонт такого размера слишком велик:
xterm -maximized -rv -title 'Прогноз погоды Балаково' +sb -fa 'Monospace' -fs 12 -hold -e curl wttr.in/~Балаково?lang=ru


Непонятно в каком месте у Вас решается проблема.

:-) Заменой xfce4-terminal на старый бородатый xterm и выбором произвольного моно фонта с выбором размера фонта (представьте что экран, это сетка из матриц символов).
« Последнее редактирование: 29.05.2018 16:25:20 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
Тем более что я не вижу чтобы xfce4-terminal умел из команды менять фонт и его размер.
Старый бородатый xterm это умеет.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн hasculdr

  • Давно тут
  • **
  • Сообщений: 485
:-) Заменой xfce4-terminal на старый бородатый xterm
В настройках эмуляции в xfce4-terminal выбрана опция xterm. Или не о том речь?

upd. Настолько внимательно разглядывал ключи, что не заметил что они для другой команды))). Еще удивлялся, куда это фон у меня пропадает))).
« Последнее редактирование: 29.05.2018 18:23:07 от hasculdr »

Оффлайн hasculdr

  • Давно тут
  • **
  • Сообщений: 485
А картинку на фон xterm умеет ставить? man огромный, пролистал быстренько, не увидел.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
А картинку на фон xterm умеет ставить? man огромный, пролистал быстренько, не увидел.

Забудьте.
Спектрумисты мультиколор выводили при аппаратных два цвета на знакоместо, а тут сраный transparent не в состоянии реализовать.
Если использовать Линукс по-умолчанию, то вполне и ничего.
Но если нужен определённый кастом в терминале, это не Линукс, это жопа:
- Один умеет transparent, но только мышью и не из конфига.
- Другой умеет transparent. но не умеет hold.
- Третий вообще нихрена не умеет.

И для подбора нужного терминала, можно убить горы времени, которое можно было бы использовать намного более полезно:
$ rpm -qf /usr/bin/urxvt
rxvt-unicode-9.20-alt1.1.1
urxvt -rv -title 'Прогноз погоды Балаково' +sb -geometry 136x42+70+50 -fn "xft:Monospace:style=Regular:pixelsize=13" -tr -sh 20 -hold -e curl wttr.in/Балаково?lang=ru


-fn
xft:Фонт:pixelsize=размер_фонта
-tr
Прозрачность включена
-sh 0,100
Диапазон прозрачности 0-100

В опции -geometry позиционирование окна задано для указанного размера фонта при дисплее 1366x768:
СИМВОЛОВ_В_СТРОКЕxСТРОК+СМЕЩЕНИЕ_ОКНА_В_ПИКСЕЛАХ_ПО_X+СМЕЩЕНИЕ_ОКНА_В_ПИКСЕЛАХ_ПО_Y

Остальные опции см. в этой же теме выше, они совпадают с xterm.

При этом urxvt не умеет максимизацию окна опцией из командной строки.
Вам нужно будет выбрать, какое дерьмо вас больше устроит:
Отсутствие прозрачности в xterm или отсутствие максимизации в urxvt.
« Последнее редактирование: 31.05.2018 03:23:39 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Сергей-70

  • Давно тут
  • **
  • Сообщений: 348
wttr.in/~Балаково?lang=ru'
О, Балаково! Из Саратова привет!

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
Например в xfce нельзя перетаскивать окно urxvt или xterm непосредственно со стола на стол не через clipman, - изображение будет повреждено (см. скриншоты). Перетаскивать только в clipman.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 6 951
  • UNIX System V init
Есть ещё одно:

- В xterm нельзя указывать опцией фонт, указывая как паттерн семейство. Иначе все символы кириллицы слетят.

Чтобы этого в xterm не происходило, даже если это указано в команде неверно, нужно явно указать дефолты для xterm.

Выясняем где xterm ищет дефолты:
$ strace -o strace-xterm.txt xterm
$ grep "Xdefaults\|Xresources" strace-xterm.txt
open("/home/user/.Xdefaults-comp.localdomain", O_RDONLY) = -1 ENOENT (Нет такого файла или каталога)

Забиваем дефолты:
$ echo -e 'XTerm*geometry: 136x42+70+50\nXTerm*transparent: true' >> ~/.Xdefaults
$ echo -e 'XTerm*reverseVideo: true\nxterm*faceName: Fixed:size=11' >> ~/.Xdefaults
Вместо Fixed 11 может быть тот же Monospace 9.

Но!
Если имя фонта (-fn) в команде xterm и имя семейства в дефолтах, а также размер фонта совпадают, то ошибку в команде отображения погоды, обнаружить будет практически невозможно, - xterm всегда будет использовать дефолт и слома отображения погоды не будет. И создастся ложное впечатление что ошибки в команде нет.
Эта ошибка в команде, косвенно, будет заметна, если по меньшей мере размер фонта в команде и в дефолтах разный. В этом случае будет заметно, что xterm свалился в дефолт. Если и семейство фонта в команде и в дефолтах разное, то сваливание xterm в дефолт будет явно заметным.

ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн hasculdr

  • Давно тут
  • **
  • Сообщений: 485
О, Балаково! Из Саратова привет!
Привет).
Вам нужно будет выбрать, какое дерьмо вас больше устроит:
Отсутствие прозрачности в xterm или отсутствие максимизации в urxvt.
Выбрал что проще:)
xterm -geometry 134x42 -rv +sb -fa 'Monospace' -fs 9 -hold -e curl wttr.in/~Балаково?lang=ruСпасибо за помощь.