Консольный $TERM linux
, [1], таким образом, можно создать тест, как так:
if [ "$TERM" = "linux" ]; then
...
Как Caleb отмечает, устанавливая СРОКИ переменной среды к типу терминала, который требуется эмулировать, не хорошая идея.
См. http://tldp.org/HOWTO/Text-Terminal-HOWTO-10.html#term_not_for_emulation для деталей
[1] Начиная с версии 1.3.2 ядра значение по умолчанию ядра для консоли является TERM=linux.
Согласно этому отчету об ошибках Debian, это происходит из-за восходящего изменения в ConsoleKit между версиями 0.4.1 и 0.4.2. Поток содержит несколько предложений и обходных решений, одно из которых должно установить менеджера по оформлению (как GDM или lightdm), который говорит с ConsoleKit непосредственно.
При использовании consolekit> 0.4.1 (хрипящий и более новый), это больше не работает из поля. Для получения это работающий снова добавляет
session optional pam_loginuid.so
кому: /etc/pam.d/common-session
.
В моем случае:
dbus
dbus-X11
consolekit
policykit-1
libpam-ck-connector
Это решение работает хорошо:
Создайте файл custom-actions.pkla со следующим содержимым:
sudo nano /var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla
Поместите его в файл.
[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes