Это обычно делается с помощью сценария expect
. Например,
#!/usr/bin/expect --
set user [lindex $argv 0]
set oldpassword [lindex $argv 1]
set password [lindex $argv 2]
spawn kpasswd $user
expect "password"
send "$oldpassword\r"
expect "password"
send "$password\r"
expect "password"
send "$password\r"
expect eof
Поместите этот сценарий в файл, скажем mysetpw
, выполните chmod + x mysetpw
, затем запустите его с помощью ./ mysetpw имя-участника oldpassword newpassword
. У меня нет kpasswd
, но примеры в Интернете, кажется, предполагают, что ему также нужен старый пароль, как в этом сценарии. Возможно, вам потребуется изменить запросы (например, «пароль»
), которые ищет сценарий, чтобы узнать, когда он должен отправить следующую строку.
Графический интерфейс загружается systemd, когда система инициализации systemd, это случай Ubuntu
Вот хороший ответ по теме
systemctl get-default
позволяет увидеть, какая цель установлена для запуска multi-user.target
илиgraphical.target
Чтобы включить x во время запуска, вы можете использовать:
sudo systemctl enable graphical.target --force
sudo systemctl set-default graphical.target
И отключить его
sudo systemctl enable multi-user.target --force
sudo systemctl set-default multi-user.target
Обратите внимание, что /etc/X11/default-display-manager
содержит диспетчер отображения, используемый по умолчанию (этот файл не требуется, хотя)
Также найдите здесь как настроить диспетчер дисплея по умолчанию, это также необходимо
Для подробного ответа требуется дополнительная информация о настройке (какой рабочий стол вы используете kde/gnome какой dm используете lightdm/sddm и т.д.)
Хм... может быть, установить Диспетчер отображения. Скажем, ЛайтДМ.
Сначала вы устанавливаете пакетlightdm , затем набираете sudo systemctl enable lightdm
, чтобы включить его. См.https://wiki.archlinux.org/title/LightDMдля получения дополнительной информации.
Надеюсь, это решило вашу проблему!
РЕДАКТИРОВАТЬ :пакетlightdmсам по себе не может запускаться автоматически даже с systemd и может испортить вашу систему, поэтому установитеlightdm -gtk -приветствиевместе с пакетомlightdm .