A Especificação de diretório base do XDG é uma especificação muito interessante para diretórios de usuários. Ele também fornece bons valores padrão, exceto para XDG_RUNTIME_DIR
.
Agora estou escrevendo um software que precisa criar pipes nomeados. É uma estrutura cliente-servidor por usuário (há um FIFO para o servidor e um FIFO por cliente).
Se XDG_RUNTIME_DIR
não estiver definido, atualmente estou usando um subdiretório por usuário /tmp
- mas ele não garante todas as condições especificadas (por exemplo, o parágrafo que começa com "O tempo de vida do diretório DEVE estar vinculado ao usuário que está conectado ..." )
É /tmp/myserver-$USER
bom o suficiente?
Editar
Vi em outro lugar algumas sugestões:
.
é bastante insatisfatório (pelo menos porque não é um caminho absoluto).- Eu também vi
/var/run/user/$USER
- nada mal, mas esse diretório não existe (pelo menos na minha caixa executando um teste Debian )
SystemD torna
/run/user/$USER
meio obrigatório.http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
fonte
Crie o diretório /tmp/service-$USER.id com o ID exclusivo. Por exemplo, com casca:
fonte