JSLinux Mobile – Linux dla iOS

Moja mobilna wersja emulatora komputera PC napisanego w Javascript – z uruchomionym w pełni funkcjonalnym systemem Linux.

Emulator można uruchomić offline w trybie pełnoekranowym na urządzeniach z iOS, jak i Android, w dowolnej przeglądarce WWW. Dla uzyskania trybu pełnoekranowego otwórz poniższy link w przeglądarce Safari i wybierz opcję „Dodaj do ekranu początkowego”. W Twoich aplikacjach zostanie utworzona nowa ikona.
Na tak podstawowym Linuxie można uczyć się podstaw programowania w C, bash, obsługi awk i sed, utworzyć pseudo-sieć (ponieważ ta wersja emulatora nie pozwala Linuxowi na połączenie z Internetem) i poznać ponad 300 podstawowych poleceń Linuxa dzięki Busybox.

Apple nie pozwala na emulację sprzętową w iOS – w AppStore brak takiego oprogramowania, przerobiłem więc doskonały emulator autorstwa Fabrice Bellarda (za jego pozwoleniem) tak, by poprawnie współpracował z klawiaturami bluetooth urządzeń iOS (stosując kilka javascriptowych trików). Emulator jest uruchamiany w zwykłych przeglądarkach WWW. To wszystko w trybie pełnoekranowym emulującym równocześnie nowoczesne terminale – odpowiednie czcionki i wygląd okna.

Domyślny preset jest przeznaczony dla iPada z klawiaturą bluetooth, ale można zmieniać wygląd aplikacji wg własnych preferencji. Każda zmiana ustawień będzie zapisana w cookies i zapamiętana.


* Czas oczekiwania: około 30 sekund

Emulator można wykorzystywać również na komputerach stacjonarnych i laptopach. Uczelnie otrzymują szybkie środowisko do nauki programowania w C z pełnym dostępem do systemu plików (rezydującego w RAMie). Uwaga: w niektórych przeglądarkach strzałki w klawiaturze bluetooth nie są obsługiwane – w edytorze VI można przemieszczać się wtedy klawiszami e,h,j,k,l. Więcej informacji na ten temat można uzyskać w pomocy edytora VI.

Kod JSLinux Mobile jest dostępny na stronie projektu w serwisie .

Przykładowe presety:





W filmie poniżej przedstawiam możliwości emulatora w połączeniu z iPadem Mini Retina i klawiaturą bluetooth.



Aby emulator był dostępny w systemie iOS w trybie offline, należy pobrać pełne archiwum JSLinux Mobile z GitHuba, zainstalować w iOS bezpłatną aplikację inuX, uruchomić ją i wpisać ftpd. Następnie za pomocą programu FileZilla połączyć się z tak utworzonym na iOS serwerem FTP i przegrać archiwum jslinux-mobile do podkatalogu etc. Po rozłączeniu z Internetem w inuX wpisać httpd, a następnie w Safari otworzyć stronę: http://localhost/etc/jslinux-mobile/index.html i wybrać opcję „Dodaj do ekranu początkowego”. Następnie należy uruchomić JSLinux z ikony w ekranie aplikacji, szybko powrócić do programu inuX i odczekać minutę. Po powrocie do aplikacji JSLinux będzie już uruchomiony. Proste? ;)

Jedna myśl na temat “JSLinux Mobile – Linux dla iOS

  1. # Chroot @ JSLinux Mobile
    echo „tmpfs /mnt tmpfs defaults,size=5M 0 0” >> /etc/fstab
    mount -a
    df -h
    mkdir -p /mnt/bin /mnt/lib
    ldd /bin/busybox
    cp /lib/libm.* /mnt/lib
    cp /lib/libc.* /mnt/lib
    cp /lib/ld-uClibc.* /mnt/lib
    cp /bin/busybox /mnt/bin
    /mnt/bin/busybox –install /mnt/bin
    chroot /mnt
    ls
    cal -y
    mkdir /home /etc /root
    touch /etc/group
    echo „root:!:0:0:root:/root:/bin/sh” > /etc/passwd
    passwd
    cat /etc/passwd
    adduser username
    cat /etc/passwd
    cat /etc/group
    login username
    pwd
    whoami
    exit
    exit
    ls /
    cat /etc/passwd

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.