fdisk出力は太字で表示されますが、色はありません。

fdisk出力は太字で表示されますが、色はありません。

端末gentooがあり、色は表示されませんが、一部の行が印刷されます。urxvtfdisk勇敢な

一部の他のコンピュータでは、出力は色で表示されます。

両方のシステムの出力は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です。このパラメーターを省略すると、デフォルト値はです。色を無効にできます。現在組み込まれているデフォルト値については、出力を参照してください。また見てくださいautoneveralwayswhenauto--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
}

関連情報