Tôi vừa nâng cấp máy tính để bàn của mình từ Ubuntu 21.04 lên 21.10. Mọi thứ đều hoạt động tốt! Tôi đã hạnh phúc.
Nhưng sau đó, tôi chạy một chương trình sai sẽ thay đổi hình nền của màn hình đăng nhập đồ họa thành một hình ảnh khác.
Rất có thể là Script mà tôi chạy:
Tôi đã tải xuống chương trình sau trong ngày 21.04, cài đặt và chạy nó.
github.com/thiggy01/gdm-background
gdm-background/gdm-background-helper /
#!/usr/bin/env python3
nhập bản phân phối
nhập dbus
nhập dbus.service
từ dbus.mainloop.glib nhập DBusGMainLoop
từ gi.repository nhập GLib
đóng cửa nhập khẩu
từ cuộc gọi nhập quy trình con
lớp GDMBackground(dbus.service.Object):
nếu 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='người gửi', connection_keyword='conn')
def SetImage(self, task, sender=None, conn=None):
action_id = 'xyz.thiggy01.GDMBackground.SetImage'
nếu self._check_polkit_privilege(sender, conn, action_id):
nếu tác vụ == 'sao lưu':
Shutil.copy(self.default_theme, self.backup_theme)
nhiệm vụ elif == 'thiết lập':
Shutil.move("/tmp/gdm3/theme/gnome-shell-theme.gresource", self.default_theme)
trả về Đúng
khác:
trả về Sai
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='b',
sender_keyword='người gửi', connection_keyword='conn')
def RestoreBackup(self, task, sender=None, conn=None):
action_id = 'xyz.thiggy01.GDMBackground.RestoreBackup'
nếu self._check_polkit_privilege(sender, conn, action_id):
nếu tác vụ == 'khôi phục':
Shutil.move(self.backup_theme, self.default_theme)
trả về Đúng
khác:
trả về Sai
@dbus.service.method('xyz.thiggy01.GDMBackground', in_signature='s', out_signature='',
sender_keyword='người gửi', connection_keyword='conn')
def RestartGDM(self, action_id, sender=None, conn=None):
nếu self._check_polkit_privilege(sender, conn, action_id):
cuộc gọi (['/usr/sbin/service', 'gdm', 'khởi động lại'])
def _check_polkit_privilege(bản thân, người gửi, liên kết, action_id):
nếu người gửi là Không có và conn là Không có:
trở lại
self.proxy_dbus = dbus.Interface(conn.get_object('org.freedesktop.DBus',
'/org/freedesktop/DBus/Bus', Sai), 'org.freedesktop.DBus')
sender_pid = self.proxy_dbus.GetConnectionUnixProcessID(người gửi)
self.proxy_polkit = dbus.Interface(dbus.SystemBus().get_object(
'org.freedesktop.PolicyKit1', '/org/freedesktop/PolicyKit1/Authority', Sai),
'org.freedesktop.PolicyKit1.Authority')
cố gắng:
(is_auth, is_challenge, chi tiết) = self.proxy_polkit.CheckAuthorization(
('unix-process', {'pid': dbus.UInt32(sender_pid, variable_level=1),
'thời gian bắt đầu': dbus.UInt64(0, variable_level=1)}),
action_id, {'':''}, dbus.UInt32(1), 'cancel')
nếu là_auth:
trả về Đúng
khác:
trả về Sai
ngoại trừ lỗi dbus.DBusException:
self.proxy_polkit.CancelCheckAuthorization('cancel')
Quyên góp
nếu __name__ == '__main__':
DBusGMainLoop(set_as_default=True)
xe buýt = dbus.SystemBus()
tên = dbus.service.BusName('xyz.thiggy01.GDMBackground', xe buýt)
gdm_background_helper = GDMBackground(tên, '/xyz/thiggy01/GDMBackground')
GLib.MainLoop().run()
Sau đó, Ubuntu 21.10 không thể tải màn hình đăng nhập đồ họa nữa.
Có một lỗi trên màn hình: Theo dõi khuôn mặt SAD với thông báo "Ồ không! Đã xảy ra sự cố." Đã xảy ra sự cố và hệ thống không thể khôi phục. Vui lòng liên hệ với quản trị viên hệ thống.
Tôi thử khắc phục sự cố bằng cách chạy Ubuntu 21.10 bằng chế độ khôi phục. Sau đó vào thư mục gốc và sử dụng các lệnh:
Sudo apt cài đặt ubuntu-gnome-desktop
trạng thái systemctl gdm
systemctl bắt đầu gdm
Nó không hoạt động chút nào.
Tôi nghi ngờ chương trình/tập lệnh tôi chạy có xung đột với việc thiết lập Gnome 40 với Ubuntu 21.04. Vui lòng giúp tôi lấy lại cài đặt màn hình đăng nhập GUI ban đầu.
Tôi cố gắng đăng nhập vào Ubuntu 21.04 bằng CTRL-SHIFT-F3. Sau đó, tôi gõ:
trạng thái systemctl gdm3
gdm.service đang hoạt động (đang chạy)
Đang khởi động Trình quản lý hiển thị Gnome.....
Nhưng có một thông báo lỗi:
Gdm: GdmDisplay: Phiên không bao giờ được đăng ký, không thành công
Gdm: Quá trình con -2037 đã chết.