Tenho tcsh como SHELL padrão e configurei umask para mim em ~/.cshrc. Essa configuração funciona bem por SSH. Minha configuração não funciona, se eu logar usando Xfce e iniciar um programa dessa forma.
Como posso configurar meu próprio umask? Não devo alterar as configurações para outros usuários e também outros usuários devem usar tcsh.
- Se eu iniciar um Terminal a partir do Xfce, a umask é a que eu configurei corretamente. - Se eu fizer outra coisa a partir do Xfce, criar um arquivo usando o Thunar ou iniciar um Programa pela GUI sem Terminal e criar um arquivo a partir daí, então a umask padrão do sistema (errada) é aplicada.
Com o Xfce iniciado a partir do LightDM, adicionar
umask 0xx
ou~/.profile
pode~/.xprofile
funcionar (o LightDM executa ambos via /bin/sh, portanto requer a sintaxe do shell Bourne – não Bash!).Apesar do nome, seu "shell de login" não está necessariamente envolvido no início da sessão gráfica. (Às vezes está, às vezes apenas /bin/sh especificamente está, e às vezes nenhum shell está envolvido... e além disso, as sessões de desktop "modernas" começam como duas ramificações separadas, cada uma com uma fonte diferente de ambiente e coisas assim.)
A única coisa em comum em todas as sessões é o PAM (que lida com autenticação de usuário e algumas configurações de sessão), então é possível definir seu umask usando o
pam_umask
módulo. Parece que ele será habilitado por padrão no Debian Trixie, mas por enquanto você pode ter que adicioná-lo manualmente a:Uma vez habilitado, você pode adicionar
umask=0xxx
ao "campo GECOS" da sua conta de usuário (5º subcampo):...ou usando
chfn --other
se o Debian tiver isso.