Как nohup
будет всегда генерировать файл с выводом к stdout/stderr, необходимо объединить его с перенаправлением вывода.
Вывод, который Вы видите в терминале, является выводом к stderr.
Когда Вы используете vlc somefile.mp3 > /dev/null &
Вы только перенаправляете вывод stdout, таким образом, Вы все еще видите вывод stderr в терминале.
Перенаправить и stdout и stderr и не иметь никакого файла, записанного nohup
можно использовать nohup vlc somefile.mp3 &> /dev/null &
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>watch.and.lol</string>
<key>ProgramArguments</key>
<array>
<string>say</string>
<string>lol</string>
</array>
<key>WatchPaths</key>
<array>
<string>~/Desktop</string>
</array>
</dict>
</plist>
Как его установить, зависит от вашего дистрибутива. Но вам необходимо поместить его в один или несколько файлов в [1172645]/etc/pam.d[1172646].[1172647].
Например, в моей системе есть [1172648]/etc/pam.d/ system-login[1172649], который входит в состав всех остальных сервисов, выполняющих логин (ssh, gdm и т.д.)[1172650].
Я бы поместил [1172651]pam_mkhomedir.so[1172652] в стек [1172653] сессии [1172654], например:
Где вы поместили его, полностью зависит от того, что еще находится в стеке. Но вы должны поместить его перед всем остальным, что может понадобиться домашнему каталогу.
См. [1172655] man 8 pam_mkhomedir[1172656] о поддерживаемых им опциях.[1172295].
В Ubuntu 14.04 system-login
отсутствует, но другой файл под названием common-session
присутствует.
Я зашел туда и поставил:
root@GW:~# vim /etc/pam.d/common-session
#
session optional pam_systemd.so skel=/etc/skel/ umask=0077
Это создаст домашний каталог, если он не существует, а также установит разрешение на 700
Я бы рекомендовал использовать одджоб -мхомедир:
Для Centos 7 это работает:
yum install oddjob-mkhomedir
Добавить это к /etc/pam.d/system-auth
и/etc/pam.d/password-auth
:
session optional pam_oddjob_mkhomedir.so skel=/etc/skel
И, наконец,:
systemctl enable oddjob; systemctl start oddjob
Первоначально это было опубликовано здесь:https://www.centos.org/forums/viewtopic.php?t=48631
Примечание :Если вы только что смонтировали раздел /home
, не забудьте выполнитьrestorecon /home