Fmstrat / Fmstrat/winapps

bin/winapps check return xfreerdp help output

Open
#365 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
10.3k
Forks
452
PR merge metrics
No merged PRs in 30d

Description

Distro: Arch Linux
OS: Win10 Pro

RDPWindows is running:
```
$ virsh start RDPWindows
error: Domain is already active

$ virsh list
Id Name State
----------------------------
1 RDPWindows running
```

The output:
```
$ bash -x bin/winapps check
+ '[' '!' -f /home/tunamert/.config/winapps/winapps.conf ']'
+++ readlink -f bin/winapps
++ dirname /home/tunamert/git/winapps/bin/winapps
+ DIR=/home/tunamert/git/winapps/bin
++ date
+ RUN='Tue Mar 19 04:21:58 AM +03 2024-13478'
+ '[' '!' -d /home/tunamert/.local/share/winapps ']'
+ RDP_SCALE=100
+ '[' -f /home/tunamert/.config/winapps/winapps.conf ']'
+ . /home/tunamert/.config/winapps/winapps.conf
++ RDP_USER=Tuna
++ RDP_PASS=205046
+ dprint START
+ '[' '' = true ']'
+ '[' -f /home/tunamert/.local/share/winapps/run ']'
++ stat -t -c %Y /home/tunamert/.local/share/winapps/run
+ LAST_RAN=1710809679
+ dprint LAST_RAN:1710809679
+ '[' '' = true ']'
+ touch /home/tunamert/.local/share/winapps/run
++ stat -t -c %Y /home/tunamert/.local/share/winapps/run
+ THIS_RUN=1710811318
+ dprint THIS_RUN:1710811318
+ '[' '' = true ']'
+ (( 1710811318 - 1710809679 < 2 ))
++ which xfreerdp
+ '[' -z /sbin/xfreerdp ']'
+ '[' -z '' ']'
++ groups
++ grep libvirt
+ '[' -z 'libvirt docker kvm wheel tunamert' ']'
++ virsh list
++ grep RDPWindows
+ '[' -z ' 1 RDPWindows running' ']'
++ virsh net-dhcp-leases default
++ grep RDPWindows
++ awk '{print $5}'
+ RDP_IP=192.168.122.112/24
+ RDP_IP=192.168.122.112
+ dprint 1:check
+ '[' '' = true ']'
+ dprint 2:
+ '[' '' = true ']'
+ dprint @:check
+ '[' '' = true ']'
+ MULTI_FLAG=span
+ '[' '' = true ']'
+ '[' check = windows ']'
+ '[' check = check ']'
+ dprint CHECK
+ '[' '' = true ']'
+ xfreerdp /d: /u:Tuna /p:205046 /v:192.168.122.112 +auto-reconnect +clipboard +home-drive -wallpaper /scale:100 /dynamic-resolution /span /app:explorer.exe

FreeRDP - A Free Remote Desktop Protocol Implementation
See www.freerdp.com for more information

Usage: xfreerdp [file] [options] [/v:[:port]]

Syntax:
/flag (enables flag)
/option: (specifies option with value)
+toggle -toggle (enables or disables toggle, where '/' is a synonym of '+')

/a: [,] Addin
/action-script: Action script
+admin Admin (or console) session
+aero Enable desktop composition
/app: program:[|<||alias>],cmd:,file:,guid:,
icon:,name:,workdir:
Remote application program
/args-from: |stdin|fd:|env:
Read command line from a file, stdin or
file descriptor. This argument can not be
combined with any other. Provide one
argument per line.
/assistance: Remote assistance password
+async-channels Enable Asynchronous channels
(experimental)
+async-update Enable Asynchronous update
/audio-mode: Audio output mode
+auth-only Enable Authenticate only
/auth-pkg-list: Authentication package filter
(comma-separated list, use '!' to
exclude)
-authentication Disable Authentication (experimental)
+auto-reconnect Enable Automatic reconnection
/auto-reconnect-max-retries:
Automatic reconnection maximum retries, 0
for unlimited [0,1000]
+auto-request-control Automatically request remote assistance
input control
/bpp: Session bpp (color depth)
+buildconfig Print the build configuration
/cache: [bitmap[:on|off],codec[:rfx|nsc],glyph[:on|off],offscreen[:on|off],
persist,persist-file:]

/cert: [deny,ignore,name:,tofu,fingerprint::[,
fingerprint::]]
Certificate accept options. Use with
care!

* deny ... Automatically abort
connection if the certificate does not
match, no user interaction.

* ignore ... Ignore the
certificate checks altogether (overrules
all other options)

* name ... Use the alternate
instead of the certificate subject
to match locally stored certificates

* tofu ... Accept certificate
unconditionally on first connect and deny
on subsequent connections if the
certificate does not match

* fingerprints ... A list of certificate
hashes that are accepted unconditionally
for a connection
/client-build-number: Client Build Number sent to server
(influences smartcard behaviour, see
[MS-RDPESC])
/client-hostname: Client Hostname to send to server
[-|/]clipboard[: [[use-selection:],[direction-to:[
all|local|remote|off]],[files-to[:all|local|remote|off]]]]
Disable Redirect clipboard:

* use-selection: ... (X11)
Specify which X selection to access.
Default is CLIPBOARD. PRIMARY is the
X-style middle-click selection.

* direction-to:[all|local|remote|off]
control enabled clipboard direction

* files-to:[all|local|remote|off]
control enabled file clipboard directiont
-compression Disable compression
/compression-level: Compression level (0,1,2)
+credentials-delegation Enable credentials delegation
/d: Domain
-decorations Disable Window decorations
+disable-output Deactivate all graphics decoding in the
client session. Useful for load tests
with many simultaneous connections
+disp Display control
/drive: , Redirect directory as named share
. Hotplug support is enabled with
/drive:hotplug,*. This argument provides
the same function as "Drives that I plug
in later" option in MSTSC.
+drives Enable Redirect all mount points as
shares
/dump: , record or replay dump
/dvc: [,] Dynamic virtual channel
+dynamic-resolution Send resolution updates when the window
is resized
+echo Echo channel
-encryption Disable Encryption (experimental)
/encryption-methods: [40,][56,][128,][FIPS]
RDP standard security encryption methods
+f Fullscreen mode (++
toggles fullscreen)
+fipsmode Enable FIPS mode
/floatbar[: sticky:[on|off],default:[visible|hidden],show:[
always|fullscreen|window]]
floatbar is disabled by default (when
enabled defaults to sticky in fullscreen
mode)
-fonts Disable smooth fonts (ClearType)
+force-console-callbacks Enable Use default callbacks (console)
for certificate/credential/...
/frame-ack: Number of frame acknowledgement
/from-stdin[: force] Read credentials from stdin. With
the prompt is done before connection,
otherwise on server request.
/gateway: g:[:],u:,d:,p:,
usage-method:[direct|detect],access-token:,type:[rpc|http[,
no-websockets][,extauth-sspi-ntlm]|auto[,no-websockets][,
extauth-sspi-ntlm]]|arm,url:,
bearer:
Gateway Hostname
/gdi: sw|hw GDI rendering
+geometry Geometry tracking channel
+gestures Enable Consume multitouch input locally
/gfx[: [[progressive[:on|off]|RFX[:on|off]|AVC420[:on|off]AVC444[:on|off]],
mask:,small-cache[:on|off],thin-client[:on|off],progressive[
:on|off]]] RDP8 graphics pipeline
-grab-keyboard Disable Grab keyboard
-grab-mouse Disable Grab mouse
/h: Height
-heartbeat Disable Support heartbeat PDUs
+help Print help
+home-drive Enable Redirect user home as share
+ipv6 Prefer IPv6 AAA record over IPv4 A record
+jpeg JPEG codec support
/jpeg-quality: JPEG quality
/kbd: [layout:[0x|],lang:<0x>,fn-key:,type:,
subtype:,unicode[:on|off],remap:=,
remap:=,pipe:]
Keyboard related options:

* layout: set the keybouard layout
announced to the server

* lang: set the keyboard language
identifier sent to the server

* fn-key: Function key value

* pipe: Name of a named pipe that can be
used to type text into the RDP session


/kerberos: [kdc-url:,lifetime:

Examples:
xfreerdp connection.rdp /p:Pwd123! /f
xfreerdp /u:CONTOSO\JohnDoe /p:Pwd123! /v:rdp.contoso.com
xfreerdp /u:JohnDoe /p:Pwd123! /w:1366 /h:768 /v:192.168.1.100:4489
xfreerdp /u:JohnDoe /p:Pwd123! /vmconnect:C824F53E-95D2-46C6-9A18-23A5BB403532 /v:192.168.1.100
xfreerdp /u:\AzureAD\user@corp.example /p:pwd /v:host

Clipboard Redirection: +clipboard

Drive Redirection: /drive:home,/home/user
Smartcard Redirection: /smartcard:<device>
Smartcard logon with Kerberos authentication: /smartcard-logon /sec:nla
Serial Port Redirection: /serial:<name>,<device>,[SerCx2|SerCx|Serial],[permissive]
Serial Port Redirection: /serial:COM1,/dev/ttyS0
Parallel Port Redirection: /parallel:<name>,<device>
Printer Redirection: /printer:<device>,<driver>,[default]
TCP redirection: /rdp2tcp:/usr/bin/rdp2tcp

Audio Output Redirection: /sound:sys:oss,dev:1,format:1
Audio Output Redirection: /sound:sys:alsa
Audio Input Redirection: /microphone:sys:oss,dev:1,format:1
Audio Input Redirection: /microphone:sys:alsa
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the report with `bash -x bin/winapps check` while the `RDPWindows` domain is running, then inspect the `check` path in `bin/winapps`. Compare the command's behavior with the reported xfreerdp help output; done means the check performs its intended validation instead of returning the help text.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.