Terminal / Ausgabe-Fähigkeiten

MacMurdock

Mitglied
Thread Starter
Registriert
21.09.2022
Beiträge
90
Reaktionspunkte
24
Hallo Forum

Ich bin mir nicht sicher, ob ich die richtige Rubrik erwischt habe - probiere jetzt hier aber trotzdem meine Frage:

Mein Perl-Programm interagiert aktuell über das Terminal-Fenster. Soweit so gut.
Nun habe ich mich gefragt, ob es auch möglich ist z.B. Fotos über das Terminal auszugeben bzw. anzeigen zu lassen.

Normalerweise müsste man ein Fenstermanager bemühen - wie z. B. Tk - aber das ist unter iMac wohl ein grösseres Unterfangen.
Zumindest habe ich da einige Anleitungen gelesen - von wegen Ports freischalten usw...

Deshalb: Wie umfangreich sind die Funktionen des Terminals was Grafik und Farben betrifft?

Gruss MacMurdock
 
unter macOs geht das deutlich einfacher, du musst nur den Befehle "open" verwenden:

Bash:
open -a "Preview.app" bilddatei.ext

du kannst natürlich auch einen anderen Viewer nehmen.

Oder noch mehr Mac-like ist es Quick Look zu nehmen:

Bash:
qlmanage -p bilddatei.ext

Willst du die Ausgabe von qlmanage im Terminal unterdrücken, dann

Bash:
qlmanage -p bilddatei.ext 2>&1 >/dev/null

qlmanage kann natürlich nicht nur Bilder anzeigen, sondern alle Dateitypen, die eben Quick Look beherrscht, pdf, txt, mail, number, pages, etc

Die obigen Zeile sind für Bash. Die musst du halt in Perl entsprechend einbinden.
 
Hallo zusammen

@lisanet
Super, diese Methode funktioniert recht gut. Ich behalte die mal im Hinterkopf.
Wer weiss, wozu ich das noch alles brauchen kann. (y)

@Difool
Da brauche ich weitere Unterstützung:

Ich habe den imgcat-Code als .txt-Datei gespeichert.
Einmal mit der Endung "txt" und einmal ohne.
Beide Varianten führen nicht zum Ziel.

Dann mit...
Bash:
chmod +x imgcat
...die Rechte eingestellt.

Nach dem Befehl...
Bash:
sudo mv imgcat /usr/local/bin
...verschwindet die Datei imgcat aus dem Verzeichnis. Wahrscheinlich bedeutet das mv = move...

Wenn ich jetzt:
Bash:
imgcat 01_Bild.jpg
eingebe, kommt als Antwort:
Bash:
zsh: command not found: imgcat

Ich habe im Ordner Document/Script/Perl_Stuff diese Dinge liegen.
Warum kennt Terminal den Befehl imgcat noch nicht?

Gruss MacMurdock
 
Hallo Forum

Das mit dem imgcat schiebe ich mal beiseite, da dass mit dem "open" in den eigenen MacApps recht einfach funktioniert...

Ich habe ein kurzes Script in Perl geschrieben, um die Möglichkeit, ein Bild zu öffnen und zu schliessen, auszutesten.
Hat was von CSI Miami... :D

Allerdings muss ich vor Programmstart händisch in das richtige Directory gehen:
Bash:
cd Documents
cd Script
cd Perl_Stuff

und die Test-Bilder (hier 01_Bild.jpg und 02_Bild.jpg) müssen ebenfalls im gleichen Verzeichnis liegen - sonst geht das Program nicht.
Aber da sollte es im Perl über den Path-Befehl (wenn ich das noch richtig weiss) irgendwie möglich sein, auch an Bilder ausserhalb des Arbeitsverzeichnisses zu gelangen. Das ist aber ein Perl-Problem und soll euch nicht weiter stören. :)

Perl:
#!/usr/bin/perl


use warnings;
use strict;

# input line
my $input_line = "";

Decider:

# terminal input
print "Input:";
$input_line = <STDIN>;
chomp $input_line;

# decider terminal input
if ($input_line eq "show pics")
    {
    print `open 01_Bild.jpg`;
    print `open 02_Bild.jpg`;
    print "\n";
    }
    
# decider terminal input
if ($input_line eq "hide pics")
    {
    print `killall Preview`;
    print "\n";
    }
      
# decider terminal input
if ($input_line eq "stop")
    {
    goto Ending;
    }


goto Decider;

Ending:

exit;

Der Fehlerabfang, wenn man hide pics eingibt, aber gar kein Preview offen ist, ist nicht im Programm - wirft also einen Programmabbruch.
Aber das war ja nur für Test-Zwecke.

Gruss MacMurdock
 
Zurück
Oben Unten