Как мне запустить сценарий при запуске, чтобы исправить проблему с ориентацией экрана? [дубликат]

Я ищу способ запустить скрипт при запуске, но все старые темы, которые я нашел по этой теме, похоже, быть до того, как появился systemd, и ни один из ответов, которые я нашел, похоже, больше не работает. Я новичок в операционных системах Linux и не уверен, где искать инструкции, как это сделать в systemd.

Для небольшой предыстории я недавно заменил Windows на маленьком планшете / ноутбуке на Ubuntu и обнаружил, что при запуске ориентация экрана неправильная, то есть каждый раз, когда я вхожу в систему, мне нужно вводить xrandr -o right в терминал, что каждый раз немного раздражает.

Кроме того, если у кого-то есть ресурсы для начинающих, начинающих работать с Linux, я бы хотел их увидеть! В настоящее время я учусь в университете, и все программирование ведется на Ubuntu, так что было бы здорово стать более искусным в использовании системы.

Спасибо.

-1
задан 29 May 2018 в 05:04

2 ответа

У меня есть та же проблема в рамках Ubuntu 16.04. По-видимому, это - ошибка, что-то сохраняет неправильное значение ориентации дисплея в файл ~/.config/monitors.xml. Таким образом, если Вы выполняетесь xrandr -o right на запуске значение ориентации будет переопределением, когда Вы войдете в систему и файл monitors.xml подготавливается.

Для фиксации этого для определенного пользователя просто добавьте следующее задание Крона - crontab -e:

@reboot sed -i 's#<rotation>.*</rotation>#<rotation>normal</rotation>#' "$HOME/.config/monitors.xml" >/dev/null 2>&1
  • Замена normal с Вашей желаемой ориентацией.
  • Эта команда займет место <rotation>something</rotation> с <rotation>desired value</rotation> в файле ~/.config/monitors.xml.

К сожалению, это обходное решение решит проблему только, когда Вы запустите или перезагрузите систему. Когда Вы выходите из системы и входите в систему, проблема может появиться снова. Для фиксации этого, можно добавить Ваш xrandr команда в Приложениях Запуска.

2
ответ дан 29 October 2019 в 06:13

Сценарий запуска в качестве примера:

  1. Сначала создайте сценарий запуска systemd eg.disk-space-check.service в /etc/systemd/system/ каталог с содержанием:

    [Unit]
    After=mysql.service
    [Service]
    ExecStart=/usr/local/bin/disk-space-check.sh
    [Install]
    WantedBy=default.target
    
  2. Установите systemd сервисную единицу и включите ее:

    chmod 664 /etc/systemd/system/disk-space-check.service
    systemctl daemon-reload
    systemctl enable disk-space-check.service
    

Больше объяснения о Вас может читать в этом, связывается:

3
ответ дан 29 October 2019 в 06:13

Другие вопросы по тегам:

Похожие вопросы: