FS#42890 - [freerdp] 1.2.0_beta1+android9-1 breaks krdc
Attached to Project:
Community Packages
Opened by Damien Gombault (Desintegr) - Monday, 24 November 2014, 09:07 GMT
Last edited by Andrea Scarpino (BaSh) - Sunday, 04 January 2015, 13:43 GMT
Opened by Damien Gombault (Desintegr) - Monday, 24 November 2014, 09:07 GMT
Last edited by Andrea Scarpino (BaSh) - Sunday, 04 January 2015, 13:43 GMT
|
Details
Hi.
I try to connect to my Windows servers with RDP and krdc. I use kdenetwork-krdc-4.14.3-1 (installed this morning). It works with : - freerdp-1.0.2-7 - freerdp-1.1.0_beta+2013071101-1 It does not work with : - 1.2.0_beta1+android9-1 (nothing happens, no log) I notice the CLI interface has changed with the new versions. The 1.0.2 version uses a -o/--option UNIX style options. The new versions use a /option Windows style options. I attached the xfreerdp --help outputs. KRDC is written to use the 1.0.2 version and it was not adapted to the new cli interface. The code uses the -/--option style : https://projects.kde.org/projects/kde/kdenetwork/krdc/repository/revisions/bae83f78003f532a34e618cc862b726a9c7004be/entry/rdp/rdpview.cpp I think Arch should stick to version 1.0.2 or create multiple version the package freerdp10, freerdp 11, freerdp 12. |
This task depends upon
Closed by Andrea Scarpino (BaSh)
Sunday, 04 January 2015, 13:43 GMT
Reason for closing: Fixed
Additional comments about closing: kdenetwork-krdc 4.14.3-2
Sunday, 04 January 2015, 13:43 GMT
Reason for closing: Fixed
Additional comments about closing: kdenetwork-krdc 4.14.3-2
In the meantime I've decided to roll my own zsh script that translates old into new options (limited to the options I regularly use, mind you). Here it is in case it helps someone. Put it into a directory in $PATH that is located before /usr/bin and call it »xfreerdp« so that the script gets executed by krdc and not the original /usr/bin/xfreerdp.
--snip------------------------------------------------------------------------
#!/bin/zsh
# -g 1800x1000 -k 0x00000409 -u mosu -p EvilPassword -D -X 104857884 -a 24 -x l --ignore-certificate --plugin cliprdr -t 3389 ketani
typeset -a args
function error {
kdialog --error "${(pj: :)@}; arguments so far: ${(pj: :)args}"
exit 2
}
host=
port=3389
while [[ -n $1 ]]; do
case $1 in
-g) args+=(/size:$2) ; shift ;;
-k) args+=(/kbd:$2) ; shift ;;
-u) args+=(/u:$2) ; shift ;;
-d) args+=(/d:$2) ; shift ;;
-p) args+=(/p:$2) ; shift ;;
-a) args+=(/bpp:$2) ; shift ;;
-t) port=$2 ; shift ;;
-D) ;;
-X) args+=(/parent-window:$2) ; shift ;;
--ignore-certificate) args+=(/cert-ignore) ;;
-x)
case $2 in
m) args+=(-fonts -aero -themes -wallpaper) ;;
b) args+=(+fonts -aero -themes -wallpaper) ;;
l) args+=(+fonts +aero -themes +wallpaper) ;;
*) error "Unknown experience option $2; remaining args:" $@ ;;
esac
shift
;;
--plugin)
case $2 in
cliprdr) args+=(+clipboard) ;;
*) error "Unknown plugin option $2; remaining args:" $@ ;;
esac
shift
;;
*)
if [[ -z $host ]]; then
host=$1
else
error "Host already set; unknown option? host=$host; remaining args:" $@
fi
;;
esac
shift
done
args+=(/v:${host}:${port})
exec /usr/bin/xfreerdp $args
--snip------------------------------------------------------------------------
As a short term solution, I support the suggested change by Jameson Pugh.
From a user perspective installing an application with its dependencies should provide a working piece of software which is not the case in the current scenario.
The user is "forced" to update to a beta build of freerdp through the normal upgrade procedure which makes KRDC not working for RDP connections anymore.
Not including the patch not seems like "keep it simple" :P
Or make the maintainer of freerdp go back to the stable release ... ;)
Oh, and why isn't freerdp in [extra]? It's a (optional) dependency for KRDC which probably is installed by almost every KRDC user.
It also uses zsh, and I don't think you want to force zsh as a dependency on everyone using krdc.
It was just meant as a quick band-aid for others who don't want to downgrade arbitrarily.
I believe that using one of the patches suggested in the KDE bug tracker is the right thing to do here; they do look complete, and all technical objections so far revolve around krdc needing to support both old and new-style interfaces in general – but that's not a problem for us on Arch as we only need the new one.
Do you also need these fixes in KDE/4.14 branch?
EDIT: Please ignore this comment.
@BaSh: Thanks for applying the patch.