Рейтинг:1

Проблемы с автозапуском при запуске простого скрипта xrandr при запуске

флаг jp

Я создал простой сценарий запуска, чтобы использовать свой сверхширокий монитор с Ubuntu 21.04 (должен быть похож и на предыдущую версию). Однако, когда я настроил этот скрипт для запуска при запуске с помощью «Автозапуска», вместо этого я получаю сообщение об ошибке при запуске, когда сценарий не может быть запущен. Ручной запуск скрипта работает нормально - Мучительно запускать его при каждом запуске вручную....

Во всяком случае, я получаю эту ошибку:

Предупреждение: Не удалось запустить программу «/home/user/scripts/2560x1080.sh» с аргументами «/home/user/scripts/2560x1080.sh».

Предупреждение: execve: ошибка формата Exec

Также, вот простой скрипт:

#! /бин/баш
#cd /home/user/scripts/
xrandr --newmode "2560x1080_60.00" 230.00 2560 2720 2992 3424 1080 1083 1093 1120 -hsync +vsync
xrandr --addmode HDMI-2 2560x1080_60.00
xrandr --выход HDMI-2 --режим 2560x1080_60.00

Спасибо заранее

conmak avatar
флаг in
Вы пробовали chronjobs для инициализации этого скрипта?
sudodus avatar
флаг jp
Возможно, эти ссылки: [ссылка 1](https://askubuntu.com/questions/1353879/lubuntu-20-04-run-a-script-at-login-what-executes-in-a-terminal-window/1354182 #1354182) и [ссылка 2](https://askubuntu.com/questions/1251814/xrandr-command-in-startup-script-has-no-effect-but-script-does-run-and-command/1251882 #1251882) может вам помочь. Метод протестирован на версии 20.04 LTS Ubuntu и Lubuntu.
Hamm avatar
флаг jp
Спасибо за предложение crontab! Добавление «@reboot sleep 10 && /home/user/scripts/2560x1080.sh» (без кавычек) в конец crontab не сработало и не выдало сообщение об ошибке, поэтому я понятия не имею, что пошло не так :[ Это на самом деле на KDE или Kubuntu...
Organic Marble avatar
флаг us
Вы пытаетесь запустить скрипт при *запуске* или при *логине*?
Hamm avatar
флаг jp
Я пытаюсь запустить это при запуске. Я просто хочу, чтобы монитор работал в своем собственном сверхшироком разрешении при запуске. Я создаю новый «startscript.sh», который запускает мой сценарий 2562x1080.sh, который запустит crontab?
Рейтинг:0
флаг in

Вы уже пробовали cronjob?

Вы можете использовать crontab для этого:

кронтаб -е

Внизу файла можно добавить пункт для запуска при перезагрузке:

НАПРИМЕР:

@reboot /home/{ваш пользователь}/scripts/startscript.sh

Примечание. Это может выполняться до загрузки всех зависимостей. Вы можете запустить сценарий оболочки асинхронно (например, с помощью & в bash) и добавить время ожидания к вашему сценарию оболочки.

Примечание. Вы можете немного поиграть с разрешениями в зависимости от того, хотите ли вы работать с sudo.

Примечание: судо кронтаб -е отличается от кронтаб -е

Редактировать:

Чтобы добавить ведение журнала в ваш startscript.sh, вы можете попробовать передать вывод команд в файл журнала следующим образом: /home/пользователь/скрипты/startscript.sh

#!/бин/баш
# Источник вашего bashrc для переменных окружения
# Обратите внимание, что здесь используется . как источник (старая школа unix) 
# потому что исходная команда может быть недоступна в зависимости от ОС
. /дом/пользователь/.bashrc
спать 30
echo "Начальный журнал" > /home/user/scripts/log.txt
/home/user/scripts/myscript.sh >> /home/user/scripts/log.txt

Примечание. Пути должны быть абсолютными в chronjobs.

sudodus avatar
флаг jp
Вы пытались запустить [скрипт с] `xrandr` из `crontab @reboot`? Скрипт с `xrandr` у меня работает из `autostart`.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.