GNU/Linux >> Znalost Linux >  >> Linux

obrazovka Nelze otevřít váš terminál '/dev/pts/0' - zkontrolujte prosím

Chcete-li problém vyřešit, zkuste spustit script /dev/null jako uživatel je vám su do před spuštěním screen .

script -q -c "su $USER -l -c \"screen -m -d -S $NAME $DAEMON start\"" /dev/null

Více o tom:

  • https://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen/116830

K tomu dochází, protože jste možná provedli sudo su user_name a poté spustil příkaz screen.

Existují 2 způsoby, jak to opravit.

  1. Přihlaste se přímo k "user_name" přes ssh.
  2. Převezměte vlastnictví shellu zadáním script /dev/null jako uživatel user_name a poté zadejtescreen

Spusťte tento příkaz, abyste vlastnili shell

#script /dev/null  

a zkuste Screen

#screen -r < name of the screen >

Inspirován oběma podporovanými odpověďmi zde jsem přidal následující funkci do svého .bashrc :

sscreen(){
    script -q -c "screen $*" /dev/null;
}

Nyní používám pouze sscreen místo screen a už nikdy nebudete muset na tento problém myslet.


Linux
  1. Jak vygenerovat náhodné heslo v linuxu pomocí /dev/random

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  1. Kdy použít /dev/random vs /dev/urandom?

  2. Jak kódovat base64 /dev/random nebo /dev/urandom?

  3. DD z /dev/zero do /dev/null...co se vlastně stane

  1. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  2. jádro:deaktivace /dev/kmem a /dev/mem

  3. Jak Linux používá /dev/tty a /dev/tty0