Как может я удаленный рабочий стол к машине Windows от машины Linux? [закрытый]

Здесь HexToBin и BinToHex относительно чисты и читаемы. (Примечание. Первоначально были возвращены коды ошибок enum через систему регистрации ошибок, а не простой -1 или -2.)

typedef unsigned char ByteData;
ByteData HexChar (char c)
{
    if ('0' <= c && c <= '9') return (ByteData)(c - '0');
    if ('A' <= c && c <= 'F') return (ByteData)(c - 'A' + 10);
    if ('a' <= c && c <= 'f') return (ByteData)(c - 'a' + 10);
    return (ByteData)(-1);
}

ssize_t HexToBin (const char* s, ByteData * buff, ssize_t length)
{
    ssize_t result = 0;
    if (!s || !buff || length <= 0) return -2;

    while (*s)
    {
        ByteData nib1 = HexChar(*s++);
        if ((signed)nib1 < 0) return -3;
        ByteData nib2 = HexChar(*s++);
        if ((signed)nib2 < 0) return -4;

        ByteData bin = (nib1 << 4) + nib2;

        if (length-- <= 0) return -5;
        *buff++ = bin;
        ++result;
    }
    return result;
}

void BinToHex (const ByteData * buff, ssize_t length, char * output, ssize_t outLength)
{
    char binHex[] = "0123456789ABCDEF";

    if (!output || outLength < 4) return (void)(-6);
    *output = '\0';

    if (!buff || length <= 0 || outLength <= 2 * length)
    {
        memcpy(output, "ERR", 4);
        return (void)(-7);
    }

    for (; length > 0; --length, outLength -= 2)
    {
        ByteData byte = *buff++;

        *output++ = binHex[(byte >> 4) & 0x0F];
        *output++ = binHex[byte & 0x0F];
    }
    if (outLength-- <= 0) return (void)(-8);
    *output++ = '\0';
}
7
задан Esteban Araya 2 September 2008 в 04:25
поделиться

3 ответа

rdesktop и tsclient и работают хорошо, по моему опыту, над Red Hat и Ubuntu. Я ожидаю, что или или оба были бы доступны для SuSe. Я использую немного сценария оболочки для доступа к окнам по RDP:

#!/bin/sh

SERVER=name.of.windows.machine

/usr/bin/rdesktop -g 1152x864 \
-a 16 \
-u windowsusername \
-d windowsdomain \
-r sound:local \
$SERVER
12
ответ дан 6 December 2019 в 08:17
поделиться
8
ответ дан 6 December 2019 в 08:17
поделиться

Вы могли использовать VNC. Сервер VNC может быть установлен на Вашем поле Windows и клиенте VNC, установленном на Вашем ноутбуке Linux. VNC свободен и очень хорош, я склонен использовать его в предпочтении к Удаленному рабочему столу.

2
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: