Я имел ту же проблему и заметил, что настоящая проблема состоит в том, что учет/сессия перестал работать, потому что у пользователя RADIUS нет записи в /etc/passwd
. Я решил проблему при помощи pam_script
выполниться adduser
прежде, чем ввести gdm сессию.
Использовать xtitle
сценарий.
Существует много вариантов в Интернете, однако, я склонен использовать тот, который зависит от xprop
Существует управляющая последовательность для запросов текущего заголовка, но это обычно отключается из соображений безопасности. Поэтому это позволяет вредоносной программе или даже просто catted текстовому файлу вставлять последовательности произвольного символа, как будто введенный на клавиатуре, первой установкой заголовка и затем просьбой иметь его сообщил. Следовательно стопка заголовка была представлена вместо этого.
Следующая команда сохранит текущее окно и заголовки значка на стек:
echo -ne '\e[22t'
Это установит заголовок на my title
:
echo -ne '\e]0;my title\007'
И это восстановит предшествующее окно и заголовки значка:
echo -ne '\e[23t'
Если я понимаю Ваше право вопроса, необходимо смочь получить текущий xterm заголовок путем осмотра $PROMPT_COMMAND
переменная, например:
$ echo $PROMPT_COMMAND
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
и можно установить его как (разрыв строки для удобочитаемости):
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]\
0;%s@%s%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
PROMPT_COMMAND
самый авторитетный путь не состоит в том, чтобы получить заголовок, так как он не всегда устанавливается, и любая команда, которую Вы выполняете, могла изменить заголовок между подсказками. Для большей части точности эмулятор терминала определенные управляющие последовательности являются, вероятно, способом пойти.
– jw013
07.01.2012, 19:39
Для тривиального (и, вероятно, наиболее распространенного случая), когда можно запросить подсказку для текущего xterm, просто используйте xprop -id $ WINDOWID WM_NAME
. Если вы хотите извлечь значение для манипуляций в сценарии оболочки, вы можете сделать что-нибудь более дорогостоящее, например:
curtitle=`xprop -id $WINDOWID WM_NAME|awk '{print $3}'|xargs echo`
Используя только bash (чтобы избежать вызова awk и xargs):
curtitle=`xprop -id $WINDOWID WM_NAME`
curtitle=`eval echo ${x##*=}`
xargs выводит эхо в в первом примере и eval во втором примере просто убирают кавычки, которые xprop помещает вокруг значения.
Замените WM_NAME на WM_ICON, если вы хотите получить имя значка, а не строку в строке заголовка.
xtitle
делает, только работы для локальных сессий. – ak2 07.01.2012, 22:07