Мне нужно предоставить несколько серверов интрасети, которые будут работать в нескольких разных местах с практически одинаковыми конфигурациями.
Я установил на них ClearOS 7 и все работает как положено.
Проблема в том, что для каждой локальной сети может потребоваться другая конфигурация IP, и я хочу, чтобы непривилегированный пользователь имел доступ к этому интерфейсу, поэтому мне не нужно предоставлять им пароль root.
ClearOS имеет хороший графический интерфейс для управления настройками IP. Этот интерфейс открывается автоматически при первой загрузке или при последующих загрузках, если я войти как root а затем выберите Открыть консоль графического режима.
Я создал пользователя с помощью интерфейса ClearOS7 Webconfig. Этот пользователь может войти в интерфейс настроек IP, но этот интерфейс не открывается по умолчанию.
Как сделать так, чтобы консоль графического режима всегда появлялась после загрузки, не требуя пароля root?
Итак, я обнаружил, что процесс, запускающий gconsole, - это служба systemctl, расположенная по адресу:
/usr/lib/systemd/system/gconsole.service
Я включил это с systemctl enable gconsole
, но он не запускался при загрузке по какой-то причине, которую я не мог диагностировать.
Чтобы обойти эту проблему, я добавил Restart=always
к [service]
блок .service
файл, то есть:
[Unit]
Description='ClearOS Graphical Console'
After=getty@tty1.service
[Service]
User=clearconsole
Group=clearconsole
Type=simple
ExecStart=/usr/bin/startx
Restart=always
[Install]
WantedBy=getty@tty1.service
Теперь, если он терпит неудачу при загрузке (а он всегда терпит неудачу в первый раз), он будет продолжать попытки, пока не заработает.
Это не изящное решение, но оно решило его для меня, и я не смог найти никаких документов или вопросов, касающихся этой проблемы, которые могли бы указать мне на лучший метод.
Также, если кто-то здесь ищет простой способ запустить gconsole с помощью cli, используйте start-gconsole
или systemctl start gconsole
.
Я надеюсь, что это помогает.