如何调试 kickstart 文件 %pre 部分中的脚本

如何调试 kickstart 文件 %pre 部分中的脚本

背景:我尝试在“文本”安装期间在虚拟机上的 kickstart 文件的 %pre 部分运行此脚本:

import os,sys,gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class DisplayMenu():
    """ Create the main configuration window """
    def __init__(self):
        self.window = Gtk.Window()
        self.window.set_border_width(10)
        self.window.set_default_size(800, 600)
        self.window.connect("destroy", Gtk.main_quit)
        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.window.add(vbox)
        hb = Gtk.HeaderBar()
        hb.set_show_close_button(True)
        hb.set_decoration_layout(":close")
        hb.set_title("Title")
        hb.set_subtitle("subtitle")
        vbox.pack_start(hb, False, False, 0)
        label = Gtk.Label()
        vbox.pack_start(label, False, False, 0)

#        hbox = Gtk.Box()
#        label = Gtk.Label("Hostname: ")
#        hbox.pack_start(label, False, False, 0)
#        self.hostname = Gtk.Entry()
#        self.hostname.set_width_chars(30)
#        if os.environ['HOSTNAME'] != '':
#            self.hostname.set_text(os.environ['HOSTNAME'])
#        else:
#            self.hostname.set_text('localhost.localdomain')
#        hbox.pack_start(self.hostname, False, False, 0)
#        vbox.pack_start(hbox, False, False, 0)

        self.window.show_all()

if __name__ == "__main__":
    WIN = DisplayMenu()
    Gtk.main()

当我“按原样”运行它时,它可以工作(“工作”是指它显示窗口并停止安装过程,直到我单击关闭图标。)当我删除其他命令上的“#”时,它停止工作,即不显示窗口并继续安装。但是,该脚本在已安装 GUI 的 rhel8 服务器上按预期工作。

我的问题是我不知道如何在安装过程中调试它。

这是 %pre 脚本:

/usr/bin/Xorg  :0 &
/usr/bin/metacity --display :0 --sm-disable &
export DISPLAY=:0
/usr/libexec/platform-python /run/install/repo/scripts/menu.py
unset DISPLAY
killall metacity
killall Xorg

问题:我如何在安装过程中调试它,因为它没有显示任何错误(我可以看到)。如果我使用“ALT-F2”切换到另一个控制台并输入 Xorg 命令,屏幕将变为空白,并且我似乎无法输入任何其他命令。

答案1

其中一个虚拟控制台显示安装日志,我认为Ctrl+Alt+F3已经显示了%pre的进度。

或用于%pre --log=/root/preinstall.log日志记录。

你也可以使用%pre --erroronfail

欲了解更多信息和选项: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/performing_an_advanced_rhel_8_installation/index

信息@:

- A.3。 Kickstart 文件中的脚本

- A.3.1。 %预脚本

相关内容