Whiptailの背景色をその場でどのように変更しますか。たとえば、赤、緑、または黄色、青の縫い目は色が欠けています。 newtアプリで紫色の背景色を取り除く方法 をチェックしましたが、これは実際にシステムを壊します。パーマネントブルーが必要な場合は問題ありません。
Ubuntuをインストールすると、たとえば一致するパスワードが取得されない場合に背景色が変更されるため、これを実行できることがわかっています。 Whiptailのマニュアルではない方法について説明します。
これがその基本であるため、イモリを扱うことは知っていますが、そこでも方法はわかりません。
ホイップテールの内部カラーパレットは、色の定義を含むファイルへのパスを提供することにより、コンパイル時に上書きされる場合があります。
UbuntuではSudo update-alternatives --config newt-palette
はubuntuパレットと元のパレットを選択する方法を提供します。
NEWT_COLORS_FILE
を代替ファイルを指すように設定することにより、このファイルの場所をオーバーライドできます。
さらに、NEWT_COLORS
環境変数を設定することにより、以前の両方のオーバーライドをオーバーライドできます。
定義の構造は次のとおりです。
name=[fg],[bg][;|:|\n|\r|\t]name2=[fg],[bg]]...
name
は次のいずれかです。
root root fg, bg
border border fg, bg
window window fg, bg
shadow shadow fg, bg
title title fg, bg
button button fg, bg
actbutton active button fg, bg
checkbox checkbox fg, bg
actcheckbox active checkbox fg, bg
entry entry box fg, bg
label label fg, bg
listbox listbox fg, bg
actlistbox active listbox fg, bg
textbox textbox fg, bg
acttextbox active textbox fg, bg
helpline help line
roottext root text
emptyscale scale full
fullscale scale empty
disentry disabled entry fg, bg
compactbutton compact button fg, bg
actsellistbox active & sel listbox
sellistbox selected listbox
bg
およびfg
は次のいずれかです。
color0 or black
color1 or red
color2 or green
color3 or brown
color4 or blue
color5 or Magenta
color6 or cyan
color7 or lightgray
color8 or gray
color9 or brightred
color10 or brightgreen
color11 or yellow
color12 or brightblue
color13 or brightmagenta
color14 or brightcyan
color15 or white
赤いウィンドウの背景を持つメッセージボックスを表示する例:
#!/bin/sh
NEWT_COLORS='
window=,red
border=white,red
textbox=white,red
button=black,white
' \
whiptail --msgbox "passwords don't match" 0 0
Ubuntuの色に追加する:
#!/bin/bash
readarray -t newtcols < /etc/newt/palette
newtcols_error=(
window=,red
border=white,red
textbox=white,red
button=black,white
)
NEWT_COLORS="${newtcols[@]} ${newtcols_error[@]}" \
whiptail --msgbox "passwords don't match" 0 0