Я просто обновляю свой рабочий стол с Ubuntu 21.04 до 21.10. Все работает нормально! Я был счастлив.
Но после этого я запускаю не ту программу, которая меняет фон графического экрана входа в систему на другую картинку.
Скорее всего, сценарий, который я запускаю:
Я скачал следующую программу 21.04, установил и запустил ее.
github.com/thiggy01/gdm-фон
gdm-фон / gdm-фон-помощник /
#!/usr/bin/env python3
импортный дистрибутив
импорт dbus
импортировать dbus.service
из dbus.mainloop.glib импортировать DBusGMainLoop
из gi.repository импортировать GLib
импортный шутил
из вызова импорта подпроцесса
класс GDMBackground (dbus.service.Object):
если distro.id() == 'ubuntu':
default_theme = '/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource'
elif distro.id() == 'поп':
default_theme = '/usr/share/gnome-shell/theme/Pop/gnome-shell-theme.gresource'
backup_theme = default_theme + '~'
def __init__(self, conn=None, object_path=None, bus_name=None):
dbus.service.Object.__init__(self, conn, object_path, bus_name)
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='b',
sender_keyword='отправитель', connection_keyword='подключение')
def SetImage(self, task, sender=None, conn=None):
action_id = 'xyz.thiggy01.GDMBackground.SetImage'
если self._check_polkit_привилегия (отправитель, соединение, action_id):
если задача == 'резервное копирование':
Shutil.copy(self.default_theme, self.backup_theme)
задача Элиф == 'установить':
Shutil.move("/tmp/gdm3/theme/gnome-shell-theme.gresource", self.default_theme)
вернуть Истина
еще:
вернуть ложь
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='b',
sender_keyword='отправитель', connection_keyword='подключение')
def RestoreBackup (я, задача, отправитель = нет, соединение = нет):
action_id = 'xyz.thiggy01.GDMBackground.RestoreBackup'
если self._check_polkit_привилегия (отправитель, соединение, action_id):
если задача == 'восстановить':
Shutil.move(self.backup_theme, self.default_theme)
вернуть Истина
еще:
вернуть ложь
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='',
sender_keyword='отправитель', connection_keyword='подключение')
def RestartGDM (self, action_id, sender=None, conn=None):
если self._check_polkit_привилегия (отправитель, соединение, action_id):
call(['/usr/sbin/service', 'gdm', 'перезагрузка'])
def _check_polkit_привилегия (я, отправитель, соединение, action_id):
если отправитель - None, а conn - None:
возвращаться
self.proxy_dbus = dbus.Interface(conn.get_object('org.freedesktop.DBus',
'/org/freedesktop/DBus/Bus', False), 'org.freedesktop.DBus')
sender_pid = self.proxy_dbus.GetConnectionUnixProcessID(отправитель)
self.proxy_polkit = dbus.Interface(dbus.SystemBus().get_object(
'org.freedesktop.PolicyKit1', '/org/freedesktop/PolicyKit1/Authority', False),
'org.freedesktop.PolicyKit1.Authority')
пытаться:
(is_auth, is_challenge, детали) = self.proxy_polkit.CheckAuthorization(
('unix-процесс', {'pid': dbus.UInt32(sender_pid, variant_level=1),
'время начала': dbus.UInt64(0, variant_level=1)}),
action_id, {'':''}, dbus.UInt32(1), 'отмена')
если is_auth:
вернуть Истина
еще:
вернуть ложь
кроме dbus.DBusException как ошибка:
self.proxy_polkit.CancelCheckAuthorization('отмена')
поднимать
если __name__ == '__main__':
DBusGMainLoop (set_as_default = Истина)
шина = dbus.SystemBus()
name = dbus.service.BusName('xyz.thiggy01.GDMBackground', шина)
gdm_background_helper = GDMBackground(имя, '/xyz/thiggy01/GDMBackground')
GLib.MainLoop().run()
После этого Ubuntu 21.10 больше не может загружать графический экран входа в систему.
На экране ошибка: Monitor SAD face с сообщением "О нет! Что-то пошло не так". Возникла проблема, и система не может восстановиться. Обратитесь к системному администратору.
Я пытаюсь устранить проблему, запустив Ubuntu 21.10 в режиме восстановления. Затем перейдите в корень и с помощью команд:
sudo apt установить ubuntu-gnome-desktop
статус systemctl gdm
systemctl запустить gdm
Это вообще не работает.
Я подозреваю, что программа/скрипт, который я запускаю, конфликтует с настройкой GNOME 40 и Ubuntu 21.04. Пожалуйста, помогите мне вернуть исходную настройку экрана входа в систему с графическим интерфейсом.
Я пытаюсь войти в Ubuntu 21.04, используя CTRL-SHIFT-F3. Затем я набираю:
статус systemctl gdm3
gdm.service активен (работает)
Запуск диспетчера отображения GNOME.....
Но есть сообщение об ошибке:
Gdm: GdmDisplay: сеанс не зарегистрирован, сбой
Gdm: Дочерний процесс -2037 уже мертв.