Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)

Windows a Linux


      Piotr Karpiuk

W tym artykule informacje o tym jak współdzielić zasoby pomiędzy Linuksem a Windowsami oraz jak uruchamiać programy jednego systemu pod drugim.

Dostęp do partycji lokalnych

Chcąc z Linuksa operować na plikach partycji Windows na tym samym komputerze, jako root wykonaj polecenie fdisk -l żeby dowiedzieć się jak nazywa się partycja Windows. Np. na poniższym rysunku:

  # fdisk -l
  
  Disk /dev/sda: 320.0 GB, 320072933376 bytes
  255 heads, 63 sectors/track, 38913 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Disk identifier: 0xcef59932
  
     Device Boot      Start         End      Blocks   Id  System
  /dev/sda1               1        6527    52428096   83  Linux
  /dev/sda2            6528       16970    83883397+  83  Linux
  /dev/sda3   *       16971       23496    52420088    7  HPFS/NTFS
  /dev/sda4           23497       38914   123837440    7  HPFS/NTFS

widzimy że są dwie takie partycje: /dev/sda3 i /dev/sda4 (VFat to inny rodzaj partycji Windows – da się ją w Linuksie podmontować tak samo jak partycję NTFS).

Teraz można wykonać polecenie mount /dev/sda3 /mnt/sda3 aby zamontować partycję /dev/sda3 w systemie plików Linuksa w katalogu /mnt/sda3 (katalog /mnt/sda3 musi istnieć, można go utworzyć wcześniej poleceniem mkdir /mnt/sda3).

Aby z poziomu Windows dobrać się do systemu plików partycji Linuksa na tym samym komputerze, można użyć darmowych programów: Explore2fs (pozwala odczytywać partycje Ext2 i Ext3) lub Ext2IFS (odczyt i zapis partycji Ext2 i Ext3). Istnieją również wtyczki do Total Commandera, które pozwalają na dostęp do linuksowych partycji Ext2/Ext3 i ReiserFS.

Active Directory

Pakiet Likewise Open ułatwia konfigurację i przygotowanie pulpitu linuksowego do dołączenia do domeny AD. Uruchamiamy formatkę poleceniem sudo domainjoin-gui, gdzie wprowadzamy pełną nazwę domeny. Po podaniu hasła administratora musimy zrestartować system, a później możemy w managerze logowania GNOME/KDE oprócz zwykłych kont UNIXowych logować się na konto o nazwie DOMAIN_NAME/username.

Samba

Samba pozwala w Windowsach podmontować przez sieć zdalny katalog Linuksa lub odwrotnie: udostępnić Linuksowi przez sieć zdalny katalog Windows.

Udostępnianie katalogu Linuksa

samba
nazwa pakietu Linuksa zawierającego serwer Samby
/etc/samba/smb.conf
plik konfiguracyjny Samby; domyślnie Samba udostępnia katalogi domowe użytkowników; po modyfikacji pliku trzeba wykonać z roota polecenie /etc/init.d/samba restart.
smbpasswd -a nazwa_uzytkownika
dodaje nowego użytkownika do bazy danych Samby /var/lib/samba (Samba nie korzysta z pliku /etc/passwd, ale użytkownik o takim samym loginie musi istnieć w Linuksie)
smbpasswd nazwa_uzytkownika
zmiana hasła wskazanego użytkownika
\\host\nazwa_uzytkownika
URL jaki wpisujemy w Eksploratorze Windows żeby uzyskać dostęp do katalogu udostępnianego przez Linuksa

Podsumowując, żeby udostępnić katalog domowy użytkownika misio na komputerze komp zaloguj się na root@komp i wykonaj:

  apt-get install samba
  smbpasswd -a misio
  # podaj hasło dla użytkownika misio

i już w Windowsach możesz wchodzić na URLa \kompmisio żeby uzyskać dostęp do katalogu domowego użytkownika misio. Jeśli się nie uda, być może winna jest zapora – trzeba odblokować porty 135, 139 i 445.

Udostępnienie katalogu Windows

Na Windowsie należy udostępnić katalog (pewnie wejść we właściwości katalogu i kliknąć co trzeba).

smbfs
nazwa pakietu Linuksa zawierającego klienta Samby
smbmount //SEKWOJA/home /mnt/sekwoja/home -o username=paradox
podmontowuje w Linuksie w katalogu /mnt/sekwoja/home katalog domowy Sekwoi, logując się jako paradox

Linux z uruchomionym zdalnym pulpitem Windows

Linux z uruchomionym zdalnym pulpitem Windows


RDesktop

Program rdesktop pozwala uzyskać z Linuksa dostęp do pulpitu zdalnego Windowsa (patrz rysunek obok).

W Windowsach trzeba wejść we właściwości ikonki Mój Komputer na zakładkę Dostęp zdalny i tam pozwolić na nawiązywanie połączenia z zewnątrz.

rdesktop
nazwa pakietu Linuksa zawierającego klienta RDP
rdesktop nazwa_komputera
otwiera pulpit wskazanego komputera z Windowsem i pozwala się zalogować

Synergy

Masz obok siebie na biurku dwa komputery: na lewym (o nazwie linux) działa Linux, a na prawym (o nazwie windows) dla odmiany mamy Windows. Chciałbyś korzystać z jednej tylko klawiatury i myszki (w dalszym opisie założymy że tej na Linuksie) – po wyjechaniu kursorem myszki w Linuksie poza ekran na prawo, kursor pojawia się na ekranie Windows, a naciśnięcia klawiszy dotyczą tego systemu na którym jest kursor myszki.

Na Linuksie instalujemy pakiet synergy, edytujemy plik ~/.synergy.conf lub /etc/synergy.conf tak aby zawierał następującą treść:

    section: screens
      linux:
      windows:
    end
    section: aliases
      linux:
        desktop
      windows:
        notebook
    end
    section: links
      linux:
        right = windows
      windows:
        left = linux
    end

i uruchamiamy polecenie synergys.

Na komputerze z Windows instalujemy program Synergy ściągnięty ze strony http://sourceforge.net/projects/synergy2/files/ i uruchamiamy go, zaznaczając opcję Use another computer’s shared keyboard and mouse, wpisujemy nazwę komputera z serwerem (linux) i klikamy przycisk Start.

Vista z uruchomionymi zdalnie aplikacjami Linuksa (Cygwin)

Vista z uruchomionymi zdalnie aplikacjami Linuksa (Cygwin)


Cygwin

Cygwin to namiastka Linuksa w Windowsach. W szczególności pozwala się SSHować (z opcją -Y) na zdalny host Unixa i wykonywać na nim aplikacje GUI.

CoLinux

Cooperative Linux to zmodyfikowany Linux przystosowany do pracy równolegle MS Windows na tej samej maszynie, bez potrzeby używania wirtualizacji – patrz zrzuty ekranu.

VNC

VNC pozwala uzyskać dostęp do pulpitu zdalnego komputera poprzez sieć TCP/IP. Na zdalnym komputerze musi stać oprogramowanie serwera (konieczne jest publiczne IP) a na lokalnym – klienta. Klient VNC może działać w dwóch trybach: przejęcia kontroli (myszką i klawiaturą) nad zdalnym komputerem oraz tylko podglądu ekranu – dostęp do każdego z tych trybów można zabezpieczyć na serwerze hasłem. W podstawowej wersji w VNC nie ma przekazywania dźwięku ani szyfrowania połączenia, w tym znaków wprowadzanych z klawiatury (wyjątkiem jest hasło dostępu do serwera). Dla Windows mamy do wyboru TightVNC oraz RealVNC, natomiast pod Linuksem np. pakiety x11vnc oraz vncviewer.

Możemy udostępniać klientom cały pulpit lub tylko wybrane okno. Ze względów wydajnościowych warto pamiętać o tym by zredukować liczbę transmitowanych kolorów (do 16 lub nawet 8 bitów), rozdzielczość ekranu, jak również o tym że źle wpływa na wydajność wzorzysta tapeta, włączona przezroczystość, wszelkiego rodzaju ornamenty, efekty i animacje wyświetlane na serwerze (konfiguracja serwera pozwala wyłączyć transmisję tapety).

Serwer

Uruchamiająć pod Windows oprogramowanie serwera (np. WinVNC.exe) w okienku dialogowym ustawiamy hasło, a w dodatkowych zakładkach np. wyłączenie tapety.

Pod Linuksem serwer x11vnc przyjmuje następujące opcje:

-passwd mojehaslo
zabezpiecza dostęp do trybu przejmowania kontroli
-viewpasswd mojehaslo
zabezpiecza dostęp do trybu podgląd pulpitu (bez przejmowania kontroli)
-shared
do serwera może się podłączyć jednocześnie wielu klientów (domyślnie tylko jeden)
-forever
po skończonej pracy można odłączyć klienta a później powrócić do pracy w miejscu w którym ją skończyliśmy (domyślnie serwer kończy działanie po odłączeniu się klienta)
-solid blue
zastępuje tapetę niebieskim kolorem
-id pick
pozwala transmitować pojedyncze okno (wskazane kursorem myszy) zamiast całego pulpitu

Klient

Pod Windows może to być vncviewer.exe gdzie po uruchomieniu wpisujemy IP lub nazwę serwera.

Pod Linuksem klient vncviewer można uruchomić np. poleceniem vncviewer -8bit jakies_ip aby dodatkowo ograniczyć liczbę transmitowanych kolorów co bardzo dobrze wpływa na wydajność

Warto wiedzieć, że pakiety VNC często udostępniają specjalny aplet Javy pozwalający na łączenie się z serwerem VNC przez przeglądarkę. Wtedy maszyna serwera musi dodatkowo zawierać serwer WWW serwujący aplet, ale maszyna klienta nie musi mieć oprogramowiania klienta VNC – wystarczy mu przeglądarka WWW z zainstalowanym pluginem Javy. Jako adres serwera podajemy IP serwera oraz port (z przedziału 5800-5806).

TODO: Wine & Cedega

SSH

Jeżeli nie boimy się wiersza poleceń, zawsze możemy na Windowsach zainstalować serwer SSH, np. WinSSHD a następnie połączyć się z nim z linuksowego shella. Jest to o tyle interesująca propozycja dla zaawansowanych administratorów, że po zalogowaniu się na Windows można wywołać np. powłokę PowerShell dającą praktycznie nieograniczony dostęp do wszystkich wywołań API Windows…

Windows a Linux, 5.0 out of 5 based on 3 ratings
Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Śledzik
  • Blip
  • Blogger.com
  • Gadu-Gadu Live
  • LinkedIn
  • MySpace
  • Wykop

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>