Bash Script yad Funktion gesucht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Bash Script yad Funktion gesucht

Beitrag von joe2017 » 23.04.2021 07:54:12

Das sieht sehr interessant aus. das schau ich mir gleich mal an!
Vielen Dank für den Link. :hail:

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Bash Script yad Funktion gesucht

Beitrag von joe2017 » 23.04.2021 08:58:56

Also das hat irgendwie nicht funktioniert! Ich steige noch nicht ganz durch was er da macht.
Interessant wäre auf jeden Fall das zweite Beispiel. Hier verwendet er keine Registerkarten und packt das irgendwie untereinander.
Das funktioniert bei mir aber irgendwie nicht so ganz.

Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: Bash Script yad Funktion gesucht

Beitrag von detix » 23.04.2021 09:59:01

ersetze die erste Zeile durch „#! /bin/bash”
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Bash Script yad Funktion gesucht

Beitrag von joe2017 » 23.04.2021 14:23:17

Ich habe es jetzt teilweise hinbekommen. Mein Script wird ausgeführt. Jedoch stürzt YAD jedes mal ab.
Auch die Eingaben werden nicht mehr in die Variablen geschrieben. Ich wollte erst mal abfragen was in der Variable $RDPvar steht und anschließend die entsprechende IP für den Server verwenden.

Anbei mein test Script:

Code: Alles auswählen

#!/bin/bash

fkey=$(($RANDOM * $$))

OUTPUT=$(yad --plug="$fkey" --tabnum=1 --form \
    --field=" Username" \
    --field=" Password":H \
    --field=" RemoteIP (optional)" &

yad --plug="$fkey" --tabnum=2 --list --radiolist --column="" --column="Select your RDP Server" \
 TRUE Server1 FALSE Server2 &

yad --paned --key="$fkey" --geometry=340x300+300+150 ---title="RDPl" \
    --text="<b> Enter information about your Remote Connection</b>
" \
    --window-icon=nm-device-wired \
    --separator="," )

OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
    echo "something went wrong"
    exit 1
fi
Blank=""
Username=$(awk -F, '{print $1}' <<<$OUTPUT)
Password=$(awk -F, '{print $2}' <<<$OUTPUT)
Port="3389"
Domain="local.net"
Server=$(awk -F, '{print $3}' <<<$OUTPUT)
RDPvar=$(awk -F, '{print $4}' <<<$OUTPUT)
if ["$Server" = "$Blank"]; then
    Server="192.168.1.1"
fi

echo $Username $Password $Port $Domain $Server $RDPvar

xfreerdp /v:$Server:$Port /d:$Domain /u:"$Username" /p:"$Password" +auto-reconnect /auto-reconnect-max-retries:0 /kbd:0x00000407 /multimon /gfx:avc420 /cert-tofu /printer /cert-ignore /f
Password=""

curt123
Beiträge: 704
Registriert: 19.10.2018 12:49:35
Wohnort: NRW

Re: Bash Script yad Funktion gesucht

Beitrag von curt123 » 23.04.2021 16:49:25

joe2017 hat geschrieben: ↑ zum Beitrag ↑
23.04.2021 14:23:17

Code: Alles auswählen

yad --paned --key="$fkey" --geometry=340x300+300+150 ---title="RDPl" \
Sind die drei - vor title bei yad üblich?

Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: Bash Script yad Funktion gesucht

Beitrag von detix » 23.04.2021 19:28:58

Beim Skript:
schmeiß zunächst mal OUTPUT=$(...) raus, die Dialoge dürfen/müssen? einzeln stehen, also nur yad --plug...
damit steigt das Programm schon nicht mehr aus.
Um an die Ausgabe der ersten beiden yads zu kommen schreib sie in eine Datei, so ungefähr:

Code: Alles auswählen

yad --plug... &>/tmp/Ausgabe1 &
Lies dann halt den Inhalt der Dateien aus, wie geschrieben wirds sonst kompliziert und du wirst dich
mit mkfifo, exec, export, sonstwas rumärgern müssen...
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Bash Script yad Funktion gesucht

Beitrag von joe2017 » 23.04.2021 20:39:50

Ist das mit der Ausgabe in ein file und anschließendem einlesen nicht kompliziert?
Kann man die eingabe nicht direkt an eine Variable weitergeben anstatt in die Datei?

Aber danke für die Info.

Antworten