На этот вопрос уже есть ответ здесь:
Я ищу способ запустить скрипт при запуске, но все старые темы, которые я нашел по этой теме, похоже, быть до того, как появился systemd, и ни один из ответов, которые я нашел, похоже, больше не работает. Я новичок в операционных системах Linux и не уверен, где искать инструкции, как это сделать в systemd.
Для небольшой предыстории я недавно заменил Windows на маленьком планшете / ноутбуке на Ubuntu и обнаружил, что при запуске ориентация экрана неправильная, то есть каждый раз, когда я вхожу в систему, мне нужно вводить xrandr -o right
в терминал, что каждый раз немного раздражает.
Кроме того, если у кого-то есть ресурсы для начинающих, начинающих работать с Linux, я бы хотел их увидеть! В настоящее время я учусь в университете, и все программирование ведется на Ubuntu, так что было бы здорово стать более искусным в использовании системы.
Спасибо.
У меня есть та же проблема в рамках 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
команда в Приложениях Запуска.
Сценарий запуска в качестве примера:
Сначала создайте сценарий запуска 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
Установите systemd сервисную единицу и включите ее:
chmod 664 /etc/systemd/system/disk-space-check.service
systemctl daemon-reload
systemctl enable disk-space-check.service
Больше объяснения о Вас может читать в этом, связывается: