Tôi gặp vấn đề tương tự (cộng với nhiều vấn đề khác) khi lấy chủ đề mặt trời mọc từ năm 2011 để hoạt động theo Ubuntu 16.04.
Thay đổi tên đường dẫn từ định dạng <16.04 thành 16.04
Tệp /usr/share/plymouth/themes/default.plymouth
có các đường dẫn cũ từ Ubuntu 14.04 và phải thay đổi để phản ánh Ubuntu 16.04.
Đảm bảo tên của bạn chứa tên đường dẫn như thế này:
[Plymouth Theme]
Name=Earth Sunrise
Description=This theme is a modification of Andre "Osku" Schmidt's Space sunrise plymouth theme
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/earth-sunrise
ScriptFile=/usr/share/plymouth/themes/earth-sunrise/earth-sunrise.script
Bộ đệm khung trong initramfs-tools
Chỉnh sửa tập tin /etc/initramfs-tools/conf.d/splash
và thêm dòng này:
FRAMEBUFFER=y
Chuyển đổi suôn sẻ sang GDM
Để cho phép chuyển đổi suôn sẻ, bạn phải tắt đơn vị quản lý hiển thị của mình, ví dụ:
systemctl disable gdm.service
Kích hoạt Đơn vị DM-plymouth tương ứng (đơn vị GDM, LXDM, SLiM được cung cấp), vd
systemctl enable gdm-plymouth.service
Bật gỡ lỗi
Chỉnh sửa tệp /etc/default/grub
và tìm kiếm dòng LINUX_DEFAULT:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vt.handoff=7 kaslr"
và thay đổi nó thành này:
GRUB_CMDLINE_LINUX_DEFAULT="plymouth:debug splash vt.handoff=7 kaslr"
Lưu ý plymouth:debug
là điều quan trọng. Cũng splash
luôn luôn được yêu cầu để gọi plymouth.
Sau khi khởi động lại, hãy nhìn vào tập tin /var/log/plymouth-debug.log
và nó sẽ trông giống như thế này:
[main.c:1865] check_logging:checking if console messages should be redirected and logged
[main.c:1874] check_logging:logging will be enabled!
[main.c:1946] initialize_environment:source built on May 10 2016
[main.c:1957] initialize_environment:Making sure /run/plymouth exists
[ply-utils.c:703] ply_create_directory:directory '/run/plymouth' already exists
[main.c:1961] initialize_environment:initialized minimal work environment
[main.c:716] get_cache_file_for_mode:returning cache file '/var/lib/plymouth//boot-duration'
[main.c:321] load_settings:Trying to load /etc/plymouth//plymouthd.conf
[ply-key-file.c:83] ply_key_file_open_file:Failed to open key file /etc/plymouth//plymouthd.conf: No such file or directory
[main.c:449] find_system_default_splash:failed to load /etc/plymouth//plymouthd.conf
[main.c:321] load_settings:Trying to load /usr/share/plymouth//plymouthd.defaults
[ply-key-file.c:83] ply_key_file_open_file:Failed to open key file /usr/share/plymouth//plymouthd.defaults: No such file or directory
[main.c:463] find_distribution_default_splash:failed to load /usr/share/plymouth//plymouthd.defaults
[main.c:873] plymouth_should_show_default_splash:checking if plymouth should show default splash
[main.c:901] plymouth_should_show_default_splash:using default splash because kernel command line has option "splash"
[ply-device-manager.c:668] create_seats_from_terminals:checking for consoles
[ply-device-manager.c:555] add_consoles_from_file:opening /sys/class/tty/console/active
[ply-device-manager.c:563] add_consoles_from_file:reading file
[ply-device-manager.c:601] add_consoles_from_file:console /dev/pts/17 found!
[ply-device-manager.c:793] ply_device_manager_watch_seats:udev support disabled, creating fallback seat
[ply-device-manager.c:635] create_seat_for_terminal_and_renderer_type:creating seat for /dev/pts/17 (renderer type: 0) (terminal: /dev/pts/17)
[ply-renderer.c:230] ply_renderer_open_plugin:trying to open renderer plugin /usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so
[ply-renderer.c:250] ply_renderer_open_plugin:opened renderer plugin /usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so
[ply-seat.c:80] add_pixel_displays:Adding displays for 1 heads
[ply-terminal.c:600] ply_terminal_open:trying to open terminal '/dev/pts/17'
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 80x24 text cells
[ply-seat.c:113] add_text_displays:adding text display for terminal /dev/pts/17
[main.c:1034] on_seat_added:listening for keystrokes
[main.c:1038] on_seat_added:listening for escape
[main.c:1042] on_seat_added:listening for backspace
[main.c:1046] on_seat_added:listening for enter
[main.c:2243] main:entering event loop
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 81x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 82x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 85x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 89x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 92x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 97x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 101x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 104x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 108x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 111x24 text cells
[ply-terminal.c:395] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:409] ply_terminal_look_up_geometry:terminal is now 112x24 text cells
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 8073 (plymouth --ping) with parent pid 7812 (sudo plymouth --ping)
[ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x406490, 0x406350) of fd 12
[ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 12 from epoll watch list: Bad file descriptor
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 10838 (plymouth show-splash) with parent pid 10837 (sudo plymouth show-splash)
[ply-boot-server.c:484] ply_boot_connection_on_request:got show splash request
[main.c:843] plymouth_should_ignore_show_splash_calls:checking if plymouth should be running
[main.c:942] on_show_splash:at least one seat already open, so loading splash
[main.c:873] plymouth_should_show_default_splash:checking if plymouth should show default splash
[main.c:901] plymouth_should_show_default_splash:using default splash because kernel command line has option "splash"
[main.c:476] show_default_splash:Showing splash screen
[main.c:495] show_default_splash:Trying old scheme for default splash
[main.c:1610] load_theme:Loading boot splash theme '/usr/share/plymouth/themes/default.plymouth'
[ply-key-file.c:171] ply_key_file_load_group:trying to load group Plymouth Theme
[ply-key-file.c:171] ply_key_file_load_group:trying to load group script
[ply-key-file.c:259] ply_key_file_load_groups:key file has no more groups
[main.c:1625] load_theme:attaching plugin to event loop
[main.c:1628] load_theme:attaching progress to plugin
[ply-boot-splash.c:178] attach_to_seat:adding pixel displays
[ply-boot-splash.c:191] attach_to_seat:Adding 1920x1080 pixel display
[ply-device-manager.c:841] ply_device_manager_activate_renderers:activating renderers
[ply-boot-splash.c:491] ply_boot_splash_show:showing splash screen
[./plugin.c:424] show_splash_screen:starting boot animation
[./plugin.c:302] start_animation:parsing script file
[./plugin.c:280] start_script_animation:executing script file
[ply-device-manager.c:881] ply_device_manager_activate_keyboards:activating keyboards
[main.c:294] show_messages:not displaying messages, since no boot splash
[ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x406490, 0x406350) of fd 12
[ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 12 from epoll watch list: Bad file descriptor
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 13320 (plymouth message --text=hello world) with parent pid 13319 (sudo plymouth message --text=hello world)
[ply-boot-server.c:637] ply_boot_connection_on_request:got show message request
[main.c:595] on_display_message:displaying message hello world
[ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x406490, 0x406350) of fd 12
[ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 12 from epoll watch list: Bad file descriptor
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 16361 (plymouth show-splash) with parent pid 16360 (sudo plymouth show-splash)
[ply-boot-server.c:484] ply_boot_connection_on_request:got show splash request
[main.c:920] on_show_splash:show splash called while already shown
[ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x406490, 0x406350) of fd 12
[ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 12 from epoll watch list: Bad file descriptor
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 17411 (plymouth pause-progress) with parent pid 17410 (sudo plymouth pause-progress)
[ply-boot-server.c:672] ply_boot_connection_on_request:got progress pause request
[main.c:665] on_progress_pause:pausing progress
[ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x406490, 0x406350) of fd 12
[ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 12 from epoll watch list: Bad file descriptor
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 21148 (plymouth show-splash) with parent pid 20299 (sudo plymouth show-splash)
[ply-boot-server.c:484] ply_boot_connection_on_request:got show splash request
[main.c:920] on_show_splash:show splash called while already shown
[ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x406350 for fd 12
[ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x406490, 0x406350) of fd 12
[ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 12 from epoll watch list: Bad file descriptor
[ply-boot-server.c:388] print_connection_process_identity:connection is from pid 29215 (plymouth --quit) with parent pid 29214 (sudo plymouth --quit)
[ply-boot-server.c:519] ply_boot_connection_on_request:got quit request
[main.c:1290] on_quit:quitting (retain splash: false)
[main.c:1307] on_quit:system not initialized so skipping saving boot-duration file
[main.c:1566] tell_systemd_to_stop_printing_details:telling systemd to stop printing details
[main.c:1316] on_quit:closing log
[ply-device-manager.c:901] ply_device_manager_deactivate_keyboards:deactivating keyboards
[ply-seat.c:185] ply_seat_deactivate_keyboard:deactivating keyboard
[main.c:1322] on_quit:unloading splash
[ply-boot-splash.c:689] ply_boot_splash_become_idle:telling splash to become idle
[ply-boot-splash.c:668] on_idle:splash now idle
[main.c:1202] on_boot_splash_idle:boot splash idle
[main.c:1209] on_boot_splash_idle:hiding splash
[ply-device-manager.c:861] ply_device_manager_deactivate_renderers:deactivating renderers
[ply-seat.c:200] ply_seat_deactivate_renderer:deactivating renderer
[ply-event-loop.c:951] ply_event_loop_stop_watching_for_timeout:multiple matching timeouts found for removal
[main.c:1214] on_boot_splash_idle:quitting splash
[main.c:1070] quit_splash:quiting splash
[main.c:1072] quit_splash:freeing splash
[ply-boot-splash.c:406] ply_boot_splash_free:freeing splash
[ply-event-loop.c:965] ply_event_loop_stop_watching_for_timeout:no matching timeout found for removal
[ply-boot-splash.c:385] detach_from_seats:detaching from seats
[ply-boot-splash.c:110] detach_from_seat:removing keyboard
[ply-boot-splash.c:116] detach_from_seat:removing pixel displays
[ply-boot-splash.c:131] detach_from_seat:Removing 1920x1080 pixel display
[ply-boot-splash.c:139] detach_from_seat:removing text displays
[ply-boot-splash.c:153] detach_from_seat:Removing 112x24 text display
[ply-device-manager.c:901] ply_device_manager_deactivate_keyboards:deactivating keyboards
[main.c:1081] quit_splash:Not retaining splash, so deallocating VT
[ply-terminal.c:919] ply_terminal_deactivate_vt:terminal is not for a VT
[ply-terminal.c:669] ply_terminal_close:restoring color palette
[ply-terminal.c:673] ply_terminal_close:stop watching tty fd
[ply-event-loop.c:759] ply_event_loop_stop_watching_fd:stopping watching fd 11
[ply-event-loop.c:775] ply_event_loop_stop_watching_fd:removing destination for fd 11
[ply-event-loop.c:784] ply_event_loop_stop_watching_fd:no more destinations remaing for fd 11, removing source
[ply-terminal.c:679] ply_terminal_close:stop watching SIGWINCH signal
[ply-terminal.c:683] ply_terminal_close:setting buffered input
[main.c:1216] on_boot_splash_idle:quitting program
[main.c:1144] quit_program:cleaning up devices
[ply-device-manager.c:521] ply_device_manager_free:freeing device manager
[ply-device-manager.c:422] free_seats:removing seats
[main.c:957] on_seat_removed:no longer listening for keystrokes
[main.c:961] on_seat_removed:no longer listening for escape
[main.c:965] on_seat_removed:no longer listening for backspace
[main.c:969] on_seat_removed:no longer listening for enter
[ply-seat.c:307] free_pixel_displays:freeing 1 pixel displays
[ply-seat.c:328] free_text_displays:freeing 1 text displays
[main.c:1147] quit_program:exiting event loop
[ply-boot-server.c:350] ply_boot_connection_on_quit_complete:quit complete
[main.c:2245] main:exited event loop
[ply-boot-splash.c:406] ply_boot_splash_free:freeing splash
[main.c:2255] main:freeing terminal session
[main.c:2261] main:exiting with code 0
Cập nhật initramfs
Sau khi thực hiện bất kỳ thay đổi nào ở trên, hãy chạy:
sudo update-initramfs -u -k all