Добавление .sh скрипта в автозагрузку
Всем привет, поменял разрешение с помощью xrandr команд, создал скрипт, но не знаю как добавить его в автозагрузку. Может кто подскажет?
P.S Без xrandr’a разрешение поменять нереально
Вопрос актуален и для меня… Буду рад если кто подскажет..
Ну, попробуйте создать юнит для systemd, который будет запускать скрипт sh. Это не сложно, инструкции в гугле есть, так что копайте в этом направлении.
Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.
Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:
В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After, что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle, это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart указываем полный путь к нашему скрипту.
Осталось выставить правильные права:
Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:
После следующей перезагрузки этот скрипт будет запущен автоматически. Обратите внимание, что для каждого скрипта, который вы собираетесь запускать должны быть правильно выставлены права, а именно нужно установить флаг выполнения. Для этого используйте команду chmod:
В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.
я писал в вики по xranr
там в комментарии есть инструкция по скрипту
Я сейчас юзаю 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