Похоже, это работает начиная с Plasma 5.8, по крайней мере для Chrome, но не для Chromium. Вам нужно добавить приложения на рабочий стол через меню гамбургера и установить флажок "открывать в новом окне".
Обновление: После одного из последних обновлений Plasma это больше не работает...
Если пользователь не существует, getent
вернет ошибку.
Вот небольшая функция оболочки, которая не игнорирует код выхода getent
:
get_home() {
local result; result="$(getent passwd "$1")" || return
echo $result | cut -d : -f 6
}
Вот пример использования:
da_home="$(get_home missing_user)" || {
echo 'User does NOT exist!'; exit 1
}
# Now do something with $da_home
echo "Home directory is: '$da_home'"
Если вы вошли в систему как пользователь root, если вы знаете пароль USER
или если USER
не имеет пароля, существует еще один вариант:
su -c 'echo ~' ${USER}
При стандартном поведении su
, если USER
не определено или пусто, то su
попытается запустить команду от имени пользователя root.
Если значение USER
не является допустимым именем пользователя, будет выдано соответствующее сообщение об ошибке:su: user <user> does not exist
.
Здесь уже есть много хороших ответов, но это все еще может кому-то помочь.