itoutline.me

 

Xfreerdp na szybko

Xfreerdp działa bardzo dobrze ale ma ten minus, że wymaga podania sporej ilości parametrów do każdego połączenia. Można “przegrepować” historię, wkleić linijkę do skryptu ale można też zrobić to tak:

Funkcja start_rdp w .bash_profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function start_rdp {

    if [ ! -f ~/.serverauth.* ]
        then
            echo "Starting Xquartz..."
            osascript -e 'launch application "Xquartz"'
            sleep 3
    fi

    if [ ! "$DISPLAY" ]
        then
            export DISPLAY=:0
    fi

    case $1 in
    workpc )
        `which xfreerdp` -u user01 -g 1280x800 -z --no-rdp -x lan --plugin cliprdr --plugin rdpdr --data disk:HDD:$HOME -- 192.168.1.1:8403
        ;;
    testpc )
        `which xfreerdp` -u itoutline.me -g 1280x800 -z --no-rdp -x lan --plugin cliprdr --plugin rdpdr --data disk:HDD:$HOME -- 192.168.1.1:8404
        ;;
    * )
        echo "You need to provide hostname: workpc, testpc"
        ;;
    esac
}

alias rdp=start_rdp

Powyższy kawałek kodu należy umieścić w .bash_profile (o ile korzystamy właśnie z tego shell-a). Teraz, żeby połączyć się z hostem o nazwie workpc wystarczy w terminalu wpisać rdp workpc. Jak widać funkcja sprawdza czy jest uruchomiony serwer X oraz ustawiona zmienna DISPLAY. Niezbyt eleganckie jest użycie polecenia sleep ale Xquartz trochę się uruchamia…

Comments