背景:「テキスト」インストール中に、仮想マシンの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
仮想コンソールの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. %規定