web-dev-qa-db-ja.com

新しく追加されたプリマステーマが起動時に表示されない

Ubuntu 16.04を実行しており、デフォルトの追加以外の別のPlymouthテーマを追加して選択すると、シャットダウンプロセス中に再起動時に表示されますが、再起動すると、grubの後に何も表示されない黒い画面が表示されますログイン画面に到達するまで。

7
GotCrypto

インストールだけでは不十分です

各プリマステーマには優先度があり、デフォルトでは、最も優先度の高いテーマがブートテーマとして選択されます。次のコマンドでこれをオーバーライドできます。

Sudo update-alternatives -config default.plymouth

これは次のようなものを示しています:

There are 2 choices for the alternative default.plymouth (providing /usr/share/plymouth/themes/default.plymouth).

  Selection    Path                                                                 Priority   Status
------------------------------------------------------------
* 0            /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth           100       auto mode
  1            /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo-scale-2.plymouth   99        manual mode
  2            /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth           100       manual mode

Press <enter> to keep the current choice[*], or type selection number:

私のシステムで現在選択されているオプション(およびデフォルトのオプション)は0(自動)であり、アスタリスク文字(*)で確認できます。

また、自動的に選択されたテーマを確認することもできます。

テーマがリストに表示され、Selection列に番号を入力してEnterキーを押します。

次に、変更を有効にする必要があります。そのためには、次のコマンドを実行します。

Sudo update-initramfs -u

再起動すると、新しいテーマが表示されます。

これは this の質問ですべて文書化されています。

2
Daniele Segato

私は同じ問題(さらに多くの問題)を抱えていたため、2011年から地球の日の出のテーマをUbuntu 16.04で動作させることができました。

パス名を<16.04から16.04形式に変更します

ファイル/usr/share/plymouth/themes/default.plymouthにはUbuntu 14.04からの古いパスがあり、Ubuntu 16.04を反映するように変更する必要がありました。

次のようなパス名が含まれていることを確認してください。

[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

Initramfs-toolsのフレームバッファー

ファイル/etc/initramfs-tools/conf.d/splashを編集して、次の行を追加します。

FRAMEBUFFER=y

GDMへのスムーズな移行

スムーズな移行を有効にするには、ディスプレイマネージャーユニットを無効にする必要があります。

systemctl disable gdm.service

それぞれのDM-プリマスユニット(GDM、LXDM、SLiMユニットを提供)を有効にします。

systemctl enable gdm-plymouth.service

デバッグをオンにする

ファイル/etc/default/grubを編集し、LINUX_DEFAULT行を検索します。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vt.handoff=7 kaslr"

これに変更します:

GRUB_CMDLINE_LINUX_DEFAULT="plymouth:debug splash vt.handoff=7 kaslr"

plymouth:debugは重要なものです。また、プリマスを呼び出すには、splashが常に必要です。

再起動後、ファイル/var/log/plymouth-debug.logを確認すると、次のようになります。

[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

Initramfsを更新する

上記の変更を実行した後、次を実行します。

Sudo update-initramfs -u -k all
1