Greifen Sie auf die Unix-Zwischenablage zu

16

Wir haben einen Linux-Server und es gibt mehrere Benutzer (also mehrere Konten) auf diesem Server. Logischerweise gäbe es unterschiedliche Zwischenablagen für unterschiedliche Benutzer.

Meine Frage ist: Wie in Windows können wir einen Zwischenablage-Viewer haben, wie kann ich den Inhalt der Zwischenablage unter Unix sehen?

maggi
quelle
3
Ich bin nicht sicher, wonach Sie fragen? Verwenden Ihre Benutzer X? Wenn nicht und sie verwenden, haben sshsie keine Zwischenablage.
Ulrich Dangel

Antworten:

16

Ihre Argumentation ist vernünftig, aber Sie gingen von einer falschen Prämisse aus. Linux hat nicht wirklich "Zwischenablagen", dieses Konzept ist einfach nicht Teil des Betriebssystems. Stattdessen implementiert das Fenstersystem, fast immer X11, Zwischenablagen . Der X11-Server, der die Anzeige verwaltet und ausführt, führt Zwischenablagen aus. Auf diese Weise ist eine Zwischenablage eine Eigenschaft eines Programms auf Benutzerebene, nicht des Betriebssystems, und außerdem gibt es einen Satz von Zwischenablagen für jede Anzeige (das sind mehr oder weniger alle Monitore oder Bildschirme, aber nicht immer).

Trotzdem ist die X11-Zwischenablage etwas seltsam .

Was den Inhalt angeht , habe ich xcb immer gemocht , aber das wird heutzutage anscheinend als ziemlich dunkel angesehen. Sie mögen vielleicht Parcellite , aber sehen Sie sich um, es scheinen viele X11-Manager für die Zwischenablage und Interaktionsprogramme zu existieren.

Bruce Ediger
quelle
10

Eine Zwischenablage ist nichts Besonderes und nur ein Implementierungsdetail für einige Programme, zum Beispiel X, emacs, vimund andere Programme haben Implementierungen , was Sie als verweisen könnten clipboards.

Da es sich um einen Server sshhandelt, gehe ich davon aus, dass sich Ihre Benutzer über das System anmelden terminal. Dies bedeutet, dass für diese Benutzer keine Zwischenablage vorhanden ist. Dies wird von ihrem Hostsystem und verwaltet .

Wenn Sie auf die XZwischenablage zugreifen möchten, gibt es mehrere Lösungen, z.

  • xclip - eine Befehlszeilenschnittstelle für das Clibboard
  • clipit - ein Zwischenablage-Manager ohne Abhängigkeiten zu anderen Desktop-Umgebungen

Wenn Sie Xfür einen anderen Benutzer auf den Inhalt der Zwischenablage zugreifen möchten, müssen Sie Xfür diesen Benutzer auf die Sitzung zugreifen .

Es gibt viele andere Dinge, die Sie prüfen können, z. B. Autocutsel , Integration zwischen X-Zwischenablage und Emacs usw.

Ulrich Dangel
quelle
1

Untersuchen Sie in Emacs

clipboard-kill-region
clipboard-kill-ring-save
clipboard-yank

Ich habe dies geschrieben, um einen ganzen Puffer in die Zwischenablage zu kopieren:

(defun copy-all ()
  "copy buffer to clipboard"
  (interactive)
  (clipboard-kill-ring-save (point-min) (point-max))
  (message "Copy done.") )

Außerdem habe ich ein nützliches alias gemacht genannt xc, wie folgt aus : xclip -selection clipboard. Anschließend wird echo $(pwd) | xc(zum Beispiel) Ihre Verzeichnisbaumposition in die Zwischenablage verschoben.

Und durch Zufall, bemerkte ich , ich kann Paste in urxvt durch Drücken der Taste Mausrad. Ich benutze die Maus überhaupt nicht gern. Wenn Sie also wissen, wie man dies an eine Tastenkombination bindet, sagen Sie es mir bitte.

Bearbeiten: Ich fand (irgendwo auf dieser Seite), dass die Antwort auf die letzte (meine) Frage ist - es ist bereits geschehen, nämlich Umschalt-Einfügen.

Emanuel Berg
quelle
Du solltest dein Bind-Paste-To-Keyboard-Shortcut als Frage posten - so bekommst du bessere Hilfe.
Bruce Ediger
@BruceEdiger: Richtig, aber alles andere in der Post, einschließlich des Einfügens in ein Terminal (zumindest eine Möglichkeit, dies zu tun), ist nützlich, da ich die Frage so verstanden habe - sehen Sie, woher ich komme? - ignorieren Sie einfach den letzten Satz, wenn es Sie ärgert :)
Emanuel Berg