xsel и DISPLAY переменная

p00st0ta
докрутить
Попробуйте запустить с нопрофиль в терминале может ругнется на переменную что не хватает
env -i /bin/bash --noprofile --norc
#inter
ваш скрипт 

и проверить если на хоткей повесить запуск скрипта в терминале - работает?
xterm -e скрипт
vs220
p00st0ta
докрутить
Попробуйте запустить с нопрофиль в терминале может ругнется на переменную что не хватает
env -i /bin/bash --noprofile --norc
#inter
ваш скрипт 

и проверить если на хоткей повесить запуск скрипта в терминале - работает?
xterm -e скрипт

выхлоп с нонпрофиль:

bash-5.0$ python translate
xsel: Can't open display: (null)
: Inappropriate ioctl for device
Traceback (most recent call last):
  File "translate", line 19, in <module>
    raw_text = subprocess.check_output(['xsel', '-o', '*.txt'], shell=True, universal_newlines=True)
  File "/usr/lib/python3.7/subprocess.py", line 395, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.7/subprocess.py", line 487, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['xsel', '-o', '*.txt']' returned non-zero exit status 1.

через скрипт с терминалом работает НО выскакивает окно xterm - не круто =/
наверно где то надо прикрутить такое - export DISPLAY=:0, но не знаю как
#!/bin/bash

USERNAME=********
USERID=1000

export XAUTHORITY=/home/$USERNAME/.Xauthority
export DISPLAY=:0
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus

sudo -u $USERNAME XAUTHORITY=/home/$USERNAME/.Xauthority DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus /home/*********/python_scripts/translate "$@

вот через такой скрипт работает в режиме нопрофиль, но через хоткей по прежнему не хочет
gjxnb
p00st0ta
скрипт работает в режиме нопрофиль, но через хоткей по прежнему не хочет
так может причина в назначении хоткея?
не пробовал вместо
p00st0ta
System settings -> Shortcuts -> Custom shortcuts -> edit -> new -> Global shortcut -> Command/URL -> Action [ python /home/user/python_scripts/translate ]
использовать стандартные утилиты? sxhkdxbindkeys ...

PS - а вот при использовании WM никакие утилиты для этого не нужны ...

EDIT 1 - а вообще нужно смотреть как и куда выводится сообщение.
Например я использую для напиминания at и если использую скрипт, то команду в нем прописываю так
env DISPLAY=:0 notify-send "ВЫПОЛНИТЬ ..." -t 10000 -u critical
Ошибки не исчезают с опытом - они просто умнеют
vasek
p00st0ta
скрипт работает в режиме нопрофиль, но через хоткей по прежнему не хочет
так может причина в назначении хоткея?
не пробовал вместо
p00st0ta
System settings -> Shortcuts -> Custom shortcuts -> edit -> new -> Global shortcut -> Command/URL -> Action [ python /home/user/python_scripts/translate ]
использовать стандартные утилиты? sxhkdxbindkeys

PS - а вот при использовании WM никакие утилиты для этого не нужны …

EDIT 1 - а вообще нужно смотреть как и куда выводится сообщение.
Например я использую для напиминания at и если использую скрипт, то команду в нем прописываю так
env DISPLAY=:0 notify-send "ВЫПОЛНИТЬ ..." -t 10000 -u critical

Да похоже дело не в notify, а в утилите xsel и переменной DISPLAY.
p00st0ta
прикрутить такое
Надо звать того кто в питоне хорошо разбирается.
Вроде что то типа
. ....  import os
os.environ['ПЕРЕМЕННАЯ'] ='значение'
 
И глянуть нужен ли shell=True в вашем субпроцессе
p00st0ta
вывод &> log.txt дает пустой файл
А если тупо print расставить после каждого получения значения ( переменных, буфера)
vs220
Надо звать того кто в питоне хорошо разбирается.
Не обязательно, перед скриптом пишутся переменные. Пример написал vasek.

Только вот DISPLAY скорее всего не хватит...

System settings -> Shortcuts -> Custom shortcuts -> edit -> new -> Global shortcut -> Command/URL -> Action
А что это за wm/de?
Ошибки в тексте-неповторимый стиль автора©
 
Зарегистрироваться или войдите чтобы оставить сообщение.