[ Content | View menu ]

Изменение цвета фона konsole при выполнении команды sudo

Опубликовано 26.11.2007

В продолжение темы konsole + dcop.

В konsole есть механизм сохранения сессий (или сеансов, кому как нравится). Сразу после установки имеется несколько предопределённых сеансов: shell, midnight commander, root shell, root midnight commander. Они отличаются друг от друга, во-первых, командой, выполняющейся при запуске (sudo -s, mc или sudo mc), во-вторых, жёлтым цветом фона рутовой консоли — чтобы root не зевал и не написал случайно что-нибудь деструктивное.

Изменение цвета фона рутовой консоли — хорошая идея, однако переключаться в рутовую консоль путём вызова соответствующего сеанса (пусть даже с помощью горячих клавиш) не всегда удобно. Гораздо чаще используется команда sudo. Было бы неплохо менять цвет консоли и при её вызове.

С помощью dcop реализовать это очень просто:

#!/bin/bash
test -z "$KONSOLE_DCOP_SESSION" || dcop $KONSOLE_DCOP_SESSION setSchema BlackOnLightYellow.schema
sudo $*
test -z "$KONSOLE_DCOP_SESSION" || dcop $KONSOLE_DCOP_SESSION setSchema LightPicture.schema

Вместо LightPicture.schema нужно написать свою любимую схему konsole. Скрипт можно сохранить под любым названием (например, sudo.sh) в каталог ~/bin, а в .bashrc назначить alias для sudo:

alias sudo='~/bin/sudo.sh $*'

Теперь при запуске sudo с любыми параметрами (sudo -s, sudo whoami и т.д.) консоль будет менять цвет фона на жёлтый на время выполнения.

P.S. поздновато я DCOP’ом начал проникаться — в KDE4 его заменит D-BUS.

«
»

1 комментарий

Write a comment - TrackBack - RSS Comments

  1. Comment by CrazyAlex:

    А вот как нечто подбное делается в xterm:

    alias sudo=’xtermcontrol –fg=green3; sudo $*; xtermcontrol –fg=gainsboro’

    23.04.2008 @ 23:50
Write comment

Я не робот.