Übersicht Letzte Änderungen Neuigkeiten Suchen ElispSektion KurzAnleitung Impressum

EshellScreen

GNU screen understands special escape sequences to invoke screen commands. You can use this to launch new screens from eshell. For this to work, you must grant permissions for the :window: screen user to run things, using the following screen command (place in your ~/.screenrc):

  acladd :window:

As an example of this, here’s a little trick to get “ssh” in eshell to launch ssh in a new screen when running under GNU screen, or a new xterm when running under X. Otherwise, ssh is run in a new term buffer.

 (defun eshell/ssh (&rest args)
  "Secure shell"
  (let ((cmd (eshell-flatten-and-stringify
              (cons "ssh" args)))
        (display-type (framep (selected-frame))))
    (cond
     ((and
       (eq display-type 't)
       (getenv "STY"))
      (send-string-to-terminal (format "\033]83;screen %s\007" cmd)))
     ((eq display-type 'x)
      (eshell-do-eval
       (eshell-parse-command
	(format "rxvt -e %s &" cmd)))
      nil)
     (t
      (apply 'eshell-exec-visual (cons "ssh" args))))))

CategoryEshell