A resposta foi fornecida em Unix SE .
Eu movi o diretório do notebook para fora do diretório home, mas o Sage ainda estava acessando a configuração em ~/.sage
. Definindo export HOME=/var/sage
trabalhado.
Eu tenho um servidor de notebook Sage que é executado em uma sessão screen
no Ubuntu Server 14.04 (32 bits). Quando estou ssh'd para a máquina, posso usar meu notebook no meu navegador como esperado. Se eu não sou ssh'd para a máquina (mas o servidor de notebook ainda está rodando em screen
session), eu ainda consigo logar e abrir meu notebook, mas quando pressiono SHIFT + ENTER em uma célula de computação, eu recebo:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_3.py", line 8, in <module>
_interact_.SAGE_CELL_ID=1
NameError: name '_interact_' is not defined
Se, em seguida, eu fizer o ssh de volta na máquina, fecho e reabro o notebook (o logout do servidor não é necessário) e posso usar as células de computação normalmente de novo. Eu nem preciso estar conectado à sessão screen
, apenas logado no host.
Eu pensei que o mais provável culpado estaria relacionado ao eCryptfs do meu diretório home, então eu criei /var/sage/sage_notebook.sagenb
, mas ainda recebo o erro *. Atualmente, as permissões estão em 750
, mas também tentei 777
sem sucesso.
O problema é claramente algo que está faltando quando não estou logado, mas não consigo descobrir o quê. O servidor é uma bonita baunilha, instalação ext4. Alguém sabe o que eu sinto falta?
* Na verdade, eu estava recebendo permissão de erros negados quando o diretório do notebook estava no diretório home e não estava conectado. O erro mostrado é o que estou vendo agora que mudei para /var/sage/...