Я видел много способов запуска скрипта, таких как помещение его в profile.D, r c .local или создание файла автозапуска, но ни один из них не запускает файл в видимом окне, если он вообще существует. Мне нужно, чтобы это было в видимом окне в Ubuntu. Мне нужно это сделать, потому что я использую несколько эмуляторов для потоковой передачи на разные сервисы, и мне не нужно запускать скрипт для каждого из них вручную.
Я использую визуальный блок для эмулятора. Файл sh находится на съемном диске, потому что это внешний файл. Мне также нужно, чтобы он работал как sudo.
Редактировать: Мне не нужно, чтобы он запускался при запуске. Мне просто нужно запустить скрипт. Я, вероятно, могу просто очень долго спать для загрузки Graphi c.
Редактировать 2: Итак, я создал сервис, который запустил файл sh в / usr / bin /, который должен был создать gnome- окно терминала, в котором выполнялся мой скрипт. Это бежало, однако Это не создавало видимое окно по некоторой причине. Затем я попытался указать дисплей, который вызвал у гнома волнение. Dbus не запускался правильно. В другом вопросе говорилось, что gnome не будет работать из-за того, как он был спроектирован, и было указано, что вместо этого он использует konsole. Konsole также заявила, что не может подключиться к дисплею, что приводит к ошибке QXcbConnection. Konsole не имеет возможности указать отображение. Я не знаю, что еще попробовать
Редактировать 3: Итак, я сделал это в комментарии. И сервис работает. Однако это работает только после того, как я запускаю файл, который служба запускает в usr / bin вручную после каждого перезапуска. Важные части файла:
#!/bin/bash
sleep 60
ufw disable
ssh nateguana@$(hostname) -X
xhost +
*launch Gnome**only works after file ran manually*
Я также попытался экспортировать DISPLAY и изменить пользователей с помощью su. Я не пробовал импортировать SSHD, как сказал другой вопрос, поскольку я думаю, что это только для нелокальных подключений. Я также перепробовал все возможные варианты команд. Ошибки Xhost, указывающие, что он не может открыть дисплей "".