Tocmai îmi actualizez desktopul de la Ubuntu 21.04 la 21.10. Totul merge bine! Am fost fericit.
Dar după aceea, rulez un program greșit care va schimba fundalul ecranului grafic de autentificare cu o altă imagine.
Cel mai probabil, Scriptul pe care îl rulez:
Am descărcat următorul program în 21.04 și l-am instalat și rulat.
github.com/thiggy01/gdm-background
gdm-background/gdm-background-helper /
#!/usr/bin/env python3
import distro
import dbus
import dbus.service
din dbus.mainloop.glib import DBusGMainLoop
din gi.repository import GLib
import shutil
din apelul de import subproces
clasa GDMBackground(dbus.service.Object):
dacă distro.id() == 'ubuntu':
default_theme = '/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource'
elif distro.id() == 'pop':
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='sender', connection_keyword='conn')
def SetImage(self, task, sender=None, conn=None):
action_id = 'xyz.thiggy01.GDMBackground.SetImage'
if self._check_polkit_privilege(sender, conn, action_id):
if task == „backup”:
shutil.copy(self.default_theme, self.backup_theme)
sarcină elif == „set”:
shutil.move("/tmp/gdm3/theme/gnome-shell-theme.gresource", self.default_theme)
returnează Adevărat
altceva:
return False
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='b',
sender_keyword='sender', connection_keyword='conn')
def RestoreBackup(self, task, sender=None, conn=None):
action_id = 'xyz.thiggy01.GDMBackground.RestoreBackup'
if self._check_polkit_privilege(sender, conn, action_id):
if task == „restaurare”:
shutil.move(self.backup_theme, self.default_theme)
returnează Adevărat
altceva:
return False
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='',
sender_keyword='sender', connection_keyword='conn')
def RestartGDM(self, action_id, sender=None, conn=None):
if self._check_polkit_privilege(sender, conn, action_id):
call(['/usr/sbin/service', 'gdm', 'repornire'])
def _check_polkit_privilege(self, sender, conn, action_id):
dacă sender este None și conn este None:
întoarcere
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(sender)
self.proxy_polkit = dbus.Interface(dbus.SystemBus().get_object(
„org.freedesktop.PolicyKit1”, „/org/freedesktop/PolicyKit1/Authority”, False),
„org.freedesktop.PolicyKit1.Authority”)
încerca:
(is_auth, is_challenge, details) = self.proxy_polkit.CheckAuthorization(
(„unix-process”, {„pid”: dbus.UInt32(sender_pid, variant_level=1),
„ora de pornire”: dbus.UInt64(0, variant_level=1)}),
action_id, {'':''}, dbus.UInt32(1), 'anulează')
if is_auth:
returnează Adevărat
altceva:
return False
cu excepția dbus.DBusException ca eroare:
self.proxy_polkit.CancelCheckAuthorization('cancel')
a ridica
if __name__ == '__main__':
DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
nume = dbus.service.BusName('xyz.thiggy01.GDMBackground', autobuz)
gdm_background_helper = GDMBackground(nume, '/xyz/thiggy01/GDMBackground')
GLib.MainLoop().run()
După aceea, Ubuntu 21.10 nu mai poate încărca ecranul grafic de conectare.
Există o eroare pe ecran: Monitorizați fața SAD cu mesajul „Oh, nu! Ceva a mers prost”. A apărut o problemă și sistemul nu se poate recupera. Vă rugăm să contactați un administrator de sistem.
Încerc să depanez problema rulând Ubuntu 21.10 folosind modul de recuperare. Apoi mergeți la rădăcină și folosiți comenzile:
sudo apt install ubuntu-gnome-desktop
systemctl status gdm
systemctl start gdm
Nu merge deloc.
Bănuiesc că programul/scriptul pe care îl rulez are un conflict cu configurarea GNOME 40 cu Ubuntu 21.04. Vă rugăm să mă ajutați să recuperez setarea originală a ecranului de conectare a GUI.
Încerc să mă conectez la Ubuntu 21.04 folosind CTRL-SHIFT-F3. Apoi tastez:
starea systemctl gdm3
gdm.service este activ (în rulare)
Se pornește Managerul de afișare GNOME.....
Dar există un mesaj de eroare:
Gdm: GdmDisplay: Sesiune nu a fost înregistrată niciodată, eșuând
Gdm: Procesul copil -2037 era deja mort.