Добавление .sh скрипта в автозагрузку

Всем привет, поменял разрешение с помощью xrandr команд, создал скрипт, но не знаю как добавить его в автозагрузку. Может кто подскажет?

P.S Без xrandr’a разрешение поменять нереально

Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.

Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:

$ sudo nano /lib/systemd/system/runscript.service

[Unit]
Description=My Script Service
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/local/script.sh

[Install]
WantedBy=multi-user.target

В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After, что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle, это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart указываем полный путь к нашему скрипту.

Осталось выставить правильные права:

$ sudo chmod 644 /lib/systemd/system/runscript.service

Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:

$ sudo systemctl daemon-reload
$ sudo systemctl enable myscript.service

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

$ sudo chmod u+x /usr/local/bin/script

В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.

Новичок Отвечено 17.08.2017.

я писал в вики по xranr

https://mydeepin.ru/vstroennoe-video-diskretnoe-vklyuchenie-vtorogo-monitora-na-vstroennoj-videokarte/

там в комментарии есть инструкция по скрипту

Новичок Отвечено 17.08.2017.

Вопрос актуален и для меня… Буду рад если кто подскажет..

Ну, попробуйте создать юнит для systemd, который будет запускать скрипт sh. Это не сложно, инструкции в гугле есть, так что копайте в этом направлении.

Я сейчас юзаю deepin , первый моник 1920*1080 по dvi (vga) , второй телик 32 » hd, все норм работает. Видео nvidia 560. Правда пришлось поплясать с xorg.conf .

Пример моих настроек. Без

HorizSync 30.0 — 82.0
VertRefresh 56.0 — 76.0

не ставилось нормально разрешение. может кому поможет.


# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 361.42 (buildd@lgw01-18) Tue Apr 5 14:33:28 UTC 2016

 

Section «ServerLayout»
Identifier «Layout0»
Screen 0 «Screen0» 0 0
InputDevice «Keyboard0» «CoreKeyboard»
InputDevice «Mouse0» «CorePointer»
Option «Xinerama» «0»
EndSection

Section «Files»
EndSection

Section «Module»
Load «dbe»
Load «extmod»
Load «type1»
Load «freetype»
Load «glx»
EndSection

Section «InputDevice»

# generated from default
Identifier «Mouse0»
Driver «mouse»
Option «Protocol» «auto»
Option «Device» «/dev/psaux»
Option «Emulate3Buttons» «no»
Option «ZAxisMapping» «4 5»
EndSection

Section «InputDevice»

# generated from default
Identifier «Keyboard0»
Driver «kbd»
EndSection

Section «Monitor»

# HorizSync source: builtin, VertRefresh source: builtin
Identifier «Monitor0»
VendorName «Unknown»
ModelName «CRT-1»
HorizSync 30.0 — 82.0
VertRefresh 56.0 — 76.0
Option «DPMS»
EndSection

Section «Device»
Identifier «Device0»
Driver «nvidia»
VendorName «NVIDIA Corporation»
BoardName «GeForce GTX 560»
EndSection

Section «Screen»

# Removed Option «metamodes» «nvidia-auto-select +0+0»
Identifier «Screen0»
Device «Device0»
Monitor «Monitor0»
DefaultDepth 24
Option «Stereo» «0»
Option «nvidiaXineramaInfoOrder» «CRT-1»
Option «metamodes» «1920×1080 +0+0; nvidia-auto-select +0+0»
Option «SLI» «Off»
Option «MultiGPU» «Off»
Option «BaseMosaic» «off»
SubSection «Display»
Depth 24
EndSubSection
EndSection


    
Новичок Отвечено 17.08.2017.

Ваш ответ