端末gentoo
があり、色は表示されませんが、一部の行が印刷されます。urxvt
fdisk
勇敢な
一部の他のコンピュータでは、出力は色で表示されます。
両方のシステムの出力はls
カラーです。
fdiskに美しい色を適用するにはどうすればよいですか?
[ebuild R ] sys-apps/util-linux-2.26.2::gentoo USE="cramfs ncurses nls pam python suid unicode -build -caps -fdformat (-selinux) -slang -static-libs -systemd {-test} -tty-helpers -udev" ABI_X86="32 (64) (-x32)" PYTHON_SINGLE_TARGET="python2_7 (-python3_3) -python3_4" PYTHON_TARGETS="python2_7 (-python3_3) -python3_4" 0 KiB
[ebuild R ] sys-apps/coreutils-8.23::gentoo USE="nls -acl -caps -gmp -multicall (-selinux) -static -vanilla -xattr" 0 KiB
答え1
必要なカラースキームを含む.というファイルを作成する必要があります/etc/terminal-colors.d/fdisk.scheme
(または他のコンピュータからコピー)。
まず、ディレクトリを作成する必要があります/etc/terminal-colors.d
。 (私はDebianコンピュータでやらなければなりませんでした。これまでに色のオプションがあるかどうかわかりませんでしたfdisk
。
メモ:ファイルとディレクトリの作成はルート(または使用)で行う必要がありますsudo
。
たとえば、完全に見苦しくて読み取れないカラースキームの場合は、次のことを試すことができます。
header 33;41
help-title 34;43
warn 47;30
welcome 42;34
これはマニュアルページで説明されていますfdisk
(検索:色下部近く)とterminal-colors.d
。マニュアルfdisk
ページには色の内容が記載されています。
-L, --color[=when]
出力を色分けします。オプションのパラメータは、または
when
です。このパラメーターを省略すると、デフォルト値はです。色を無効にできます。現在組み込まれているデフォルト値については、出力を参照してください。また見てくださいauto
never
always
when
auto
--help
色部分。
ノート:色がデフォルトで無効になっていても、この機能を望むことができますsudo touch /etc/terminal-colors.d/fdisk.enable
。
そして
色
空のファイルは暗黙的な色付けを無効にします
/etc/terminal-colors.d/fdisk.disable
。
terminal-colors.d(5)
シェーディングの設定について詳しくは、こちらをご覧ください。サポートされる論理カラー名はfdisk
次のとおりです。header The header of the output tables. help-title The help section titles. warn The warning messages. welcome The welcome message.
terminal-colors.d
さまざまなコマンドラインツールのカラースキームを有効、無効、および/または指定するための共通の中央位置のようです。これはutil-linux
パッケージ内のすべてのツールの一部であり、使用されます。他のツールでも採用することも、採用しない場合もあります。
今日までは聞いたことがありませんが(驚くべきことではありません。ターミナルに素晴らしい色を付けることは興味がありません)、おそらく何年も使用されていました。
答え2
次のカスタムカラー出力が好きですfdisk -l
。
### Add this to your .bashrc
# custom fdisk
# - add color when called with -l or -x
# - prepend sudo
function fdisk () {
local green='\x1b[32m'
local bold='\x1b[1m'
local blue='\x1b[34m'
local yellow='\x1b[33m'
local reset='\x1b[0m'
if [[ "$@" =~ -l|--list|-x|--list-details ]]; then
command sudo fdisk --color=always "$@" | \
sed -E -e 's/ ([0-9]+(\.[0-9]+)?)([A-Z]+) / '"${green}${bold}"'\1'"${reset}${green}"'\3'"${reset}"' /g' \
-e 's/(^\/dev\/)([a-z0-9]+) /'"${blue}"'\1'"${reset}${bold}${blue}"'\2'"${reset}"' /g' \
-e 's/(Disk )(\/dev\/)([a-z0-9]+): ([0-9]+(\.[0-9]+)?) ([[:alpha:]]+),/\1'"${reset}${blue}"'\2'"${reset}${bold}${blue}"'\3'"${reset}${bold}"': '"${green}${bold}"'\4'"${reset}${green}"'\6'"${reset}${bold}"',/g' \
-e 's/(Disk model: )(.*)/\1'"${reset}${yellow}"'\2'"${reset}"'/g' \
-e 's/(Disklabel type: )(.*)/\1'"${reset}${yellow}"'\2'"${reset}"'/g'
else
command sudo fdisk --color=always "$@"
fi
}