Ao usar sudo tee
or sudoedit
, estou recebendo um Invalid argument
erro.
sudoedit: unable to write to /sys/power/mem_sleep: Invalid argument
sudoedit: contents of edit session left in /var/tmp/mem_sleep.c9QzrIn7
Mesmo que o usuário root
(after su
) use vi
diretamente no arquivo leva a um erro de gravação:
"/sys/power/mem_sleep" E514: Write error (file system full?)
WARNING: Original file may be lost or damaged
don't quit the editor until the file is successfully written!
Recarregar o arquivo :e!
mostra que ele está inalterado no disco. O sistema não está cheio, posso escrever um arquivo, por /usr
exemplo, como admin, embora não em /sys/power
.
Uma questão anterior com os mesmos sintomas foi resolvida garantindo que o arquivo foi escrito como admin, mas aqui devo ter os direitos?
>ls -l /sys/power/mem_sleep
-rw-r--r-- 1 root root 4096 Feb 6 09:03 /sys/power/mem_sleep
Existe algum controle do kernel sobre o conteúdo do arquivo e ele deve ser reescrito com algum utilitário dedicado?
Este é o Debian GNU/Linux 12 (bookworm)
Usar vi nessa entrada do sistema de arquivos não faz sentido, porque não é um "arquivo em disco", é apenas uma API do kernel.
Nesse caso, é uma API que aceita apenas strings específicas e informa o que está disponível em seu sistema. Você não pode mudar isso e está escrevendo algo que não está disponível em seu sistema, então gravar nesse arquivo não funciona.
Não sei o que você queria alcançar, então posso dar apenas dicas gerais:
A interface com a qual você está tentando interagir está documentada em https://www.kernel.org/doc/Documentation/power/states.txt .
Em qualquer sistema Linux que não seja especificamente adaptado para um dispositivo embarcado específico, você definitivamente não deseja interagir com esta interface - consulte os utilitários de gerenciamento do seu sistema, que também informarão aos programas Userland que você está prestes a ser suspenso, o que pode ser necessário para muitos aplicativos, sistemas de arquivos Userland, drivers baseados em libusb, etc. Além disso, esses utilitários são simples de usar; nos velhos tempos, ele apenas estava em execução
pm-suspend
, nos dias um pouco menos ruinssystemctl suspend
, o que na verdade garante que todos os componentes que podem quebrar na suspensão sejam informados e questionados primeiro.