[gelöst] Problem mit freerdp gui (zenity)

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

[gelöst] Problem mit freerdp gui (zenity)

Beitrag von joe2017 » 21.11.2020 06:26:35

Schönen guten morgen zusammen,

ich habe eine kleine GUI für freerdp mit zenity geschrieben und habe ein kleines Problem und hoffe das jemand eine Idee für mich hat.
Das Probem sind leerzeichen in einem Passwort. Durch das {print $xyz} werden die Parameter durch leerzeichen getrennt. Somit wird das Passwort auch nach einem Leerzeichen abgeschnitten.
Hat jemand eine Idee wie man das lösen kann?

Code: Alles auswählen

#!/bin/bash

OUTPUT=$(zenity --forms --title="Remote Desktop" \
    --text="Enter information about your Remote Connection" \
    --separator="," \
    --add-entry="Username" \
    --add-password="Password" \
    --add-entry="RemoteIP (optional)")

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="test.net"
Server=$(awk -F, '{print $3}' <<<$OUTPUT)
if ["$Server" = "$Blank"]; then
    Server="192.168.1.10"
fi

xfreerdp /v:$Server:$Port /d:$Domain /u:$Username /p:$Password +auto-reconnect /auto-reconnect-max-retries:0 /kbd:0x00000407 /multimon /gfx:avc420 /cert-tofu /cert-ignore /f
Password=""
Zuletzt geändert von joe2017 am 10.12.2020 16:26:03, insgesamt 1-mal geändert.

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

Re: Problem mit freerdp gui (zenity)

Beitrag von joe2017 » 21.11.2020 14:16:29

Ich glaube ich hab einen Denkfehler!
In meinem Script habe ich ja den --separator="," eingestellt. Somit müsste das doch eigentlich mit Leerzeichen funktionieren. Ich habe für meinen Test ein echo eingebaut. Das Echo gibt die Werte richtig aus.
Ich werde das am Montag noch mal überprüfen...

tobo
Beiträge: 2349
Registriert: 10.12.2008 10:51:41

Re: Problem mit freerdp gui (zenity)

Beitrag von tobo » 21.11.2020 15:44:57

Im unteren Bereich solltest du Password, Username und Server grundsätzlich gequotet weitergeben. Oben dürfte das zwar so stimmen und funktionieren, ich würde es aber trotzdem quoten. Übrigens dann einer der wenigen Fälle, wo man das Quoting schachteln kann:

Code: Alles auswählen

#!/bin/bash

OUTPUT=$(zenity --forms --title="Remote Desktop" \
    --text="Enter information about your Remote Connection" \
    --separator="," \
    --add-entry="Username" \
    --add-password="Password" \
    --add-entry="RemoteIP (optional)")

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="test.net"
Server="$(awk -F, '{print $3}' <<<"$OUTPUT")"
if ["$Server" = "$Blank"]; then
    Server="192.168.1.10"
fi

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

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

Re: [gelöst] Problem mit freerdp gui (zenity)

Beitrag von joe2017 » 10.12.2020 16:27:24

Hallo und danke für die Info.

Entschuldige bitte die späte Rückmeldung. Ich bin aktuell ziemlich mit Projekten zu.
Das Problem waren wirklich die Anführungszeichen. Manchmal ist es doch ganz einfach!

Code: Alles auswählen

/u:"$Username" /p:"$Password"

Antworten