2016-05-10 12 views
0

Ich habe Perl 5.18.2 Version in meinem Ubuntu 14.04 LTS installiert.Perl kopieren in die Zwischenablage funktioniert nicht mit Zwischenablage Modul

Jetzt habe ich einen benutzerdefinierten Befehl in geany geschaffen, die ich wie unten am Brennen:

perl /home/ubuntu/geany_custom_cmds/get_current_directory_path.pl %f %d %e 

Und unten ist der Code von get_current_directory_path.pl Datei:

#!/usr/bin/perl -w 

# print $ARGV[0]; 
use Clipboard; 
foreach $argnum (0 .. $#ARGV) { 
    print "$ARGV[$argnum]\n"; 
    Clipboard->copy($ARGV[$argnum]); 
    print Clipboard->paste; 
} 

Aber ich bin nicht jedes Argument wird immer Wert in meiner Ubuntu-Zwischenablage, den ich mit Strg + V einfügen kann.

Alle Vorschläge sind willkommen.

+1

* Immer ''strict' verwenden und' Warnungen verwenden all'' oben in jedem Perl-Programm, das Sie schreiben – Borodin

+0

Ich habe versucht, Win32 :: Clipboard in meinem Windows 7 System zu installieren, aber das scheitert auch und so kann ich benutze Win32 :: Zwischenablage nicht. Ich bekomme einige Tests fehlgeschlagen Fehler –

Antwort

0

Das Modul Clipboard ist so geschrieben, dass es auf Windows-, Mac- und Linux-Systemen gleichermaßen gut funktioniert. Um dies zu erreichen, verfügt es über drei verschiedene Treibermodule, die die Funktionalität implementieren

Der Linux-Treiber verwendet das Befehlszeilentool xclip, das nicht standardmäßig auf Ubuntu installiert ist. Sie müssen es mit

sudo apt install xclip 

installieren, bevor das Modul für Sie arbeiten wird

Es gibt wirklich einen Kommentar zu diesem Zweck in der Dokumentation des Moduls sein sollten, wie es bei weitem nicht offensichtlich

1

Das Problem ist, ist dass X-Fenster verfügt über drei verschiedene Cut-and-Paste-Konzepte:

  • die "primary selection" (mit mittlerem Maus eingefügt werden)
  • die "sekundäre Auswahl" (hier nicht relevant)
  • die "Zwischenablage"

Reference (mit^V eingefügt werden): https://linux.die.net/man/1/xsel

offenbar nur das Perl-Zwischenablage Paket der primären Auswahl kennt . Sie wollen wahrscheinlich sowohl "primäre" und "Zwischenablage", oder zumindest "Zwischenablage".

use Xclip; 
Xclip::copy2("some stuff"); 

Benötigt entweder xsel oder xclip installiert werden:

Code arbeiten, dieses Problem unter X-Windows lösen können https://www.av8n.com/security/Xclip.pm

Invoke wie gefunden werden.

Verwandte Themen