Подключение к серверу Ubuntu (SSH), как остановить завершение процесса после выхода из системы?

Сложность в том, что нажатие CapsLock ничего не отправляет терминальным приложениям, поэтому zsh об этом не знает.

Как предложил Stéphane Chazelas , вы можете использовать XBindKeys для выполнения команды оболочки при нажатии CapsLock . Одной из полезных команд является отправка сигнала SIGWINCH на zsh. Этот сигнал отправляется ядром при изменении настроек размера tty (, как правило, эмуляторами терминала при изменении размера их окна ).Несколько ложных показаний изменения размера окна не повредят. Это будет работать даже в удаленной оболочке через SSH, если у вас есть пересылка X11 в сеансе SSH, и вы отправляете сигнал клиенту SSH.

Zsh не пересчитывает строку приглашения автоматически, поэтому скажите ему сделать это, установив ловушку на SIGWINCH.

В~/.xbindkeysrc:

"pkill -u $USER -SIGWINCH -x 'ssh|zsh'"
    Caps_Lock

В~/.zshrc:

# + your CapsLock function
trap 'zle reset-prompt 2> /dev/null' SIGWINCH

(Или вы можете сделать то, что делаю я, то есть не иметь клавиши CapsLock . В zsh вы можете использовать ESC u(up-case-word), чтобы сделать слово после курсора прописным, и вы можете создать дополнительные виджеты, чтобы помочь с этим, если хотите.)

0
07.01.2020, 19:44
2 ответа

Вы можете использовать командуnohup

nohup apt install openjdk-13-jre-headless &

Если я хорошо помню, команда не остановится, если вы закроете сеанс ssh и запишет вывод в файл с именемnohup.out

Вы также можете использовать экран
https://linux.die.net/man/1/screen

0
28.01.2020, 02:38

Да, это возможно (в большинстве случаев )и безопасно. Команда должна быть примерно такой:

nohup apt install openjdk-13-jre-headless >/path/to/log 2>/path/to/errors &

nohupкоманда отсоединить процесс от терминала (как демон )и &перевести его в фоновый режим

1
28.01.2020, 02:38

Теги

Похожие вопросы