sobota, 13 sierpnia 2011

Podłączenie do sieci przed zalogowaniem

Czasami przydałoby się połączyć z prywatnym komputerem z innego. Nic trudnego. Jest przecież ssh. Tak, ale komputer musi być włączony. Można to dość łatwo rozwiązać, jeśli ktoś znajduje się w jego pobliżu. Wystarczy tę osobę poprosić, aby go włączyła. Tylko teraz pojawia się inny problem. Aby połączyć się z takim komputerem, musi on być połączony z internetem. Standardowo łączenie z siecią (przynajmniej z WiFi) następuje po zalogowaniu. Musielibyśmy poprosić również osobę o zalogowanie i podać jej hasło. Na pewno nie chcemy tego robić. I ten problem możemy rozwiązać. Wystarczy użyć programu wicd.

Program wicd to menadżer połączenie z siecią, tak jak standardowo instalowany w Ubuntu czy Debianie network-manager. Ma jednak co najmniej jedną przewagę: łączy się z siecią zaraz po uruchomieniu komputera, a więc nie trzeba się zalogować. Możemy to wykorzystać we wcześniej przedstawionej sytuacji. Zainstalujmy więc wicd.

Osobiście polecam najpierw zainstalować wicd, a później usunąć network-managera. W odwrotnej kolejności stracimy połączenie z internetem.
sudo apt-get install wicd
sudo apt-get remove network-manager
Najlepiej teraz uruchommy ponownie komputer. Jeśli program się nie uruchomi spróbujmy włączyć go poleceniem
wicd-client
Później wszystko powinno być już w porządku.

Z obsługą programu każdy powinien sobie już poradzić. Więcej informacji na stronach:

czwartek, 11 sierpnia 2011

Kernel panic przy wyłączaniu komputera

Ostatnio zmieniałem dystrybucje. Z Minta 9 przesiadłem się na wersję 11, a obecnie posiadam Linux Mint Debian Edition (LMDE). Dystrybucja fajna, polecam się przyjrzeć. Chciałbym zaprezentować w tym poście jak pozbyć się dość uciążliwego problemu, jakim jest występowanie kernel panic przy wyłączaniu komputera.
Poszperałem w internecie i dowiedziałem się, że winą jest moduł vboxdrv. Wystarczy go usunąć i wszystko jest w porządku. Do tego służy polecenie rmmod. Jednak aby usunąć ten moduł należy też najpierw usunąć wszystkie moduły, przez które jest wykorzystywany. Po drugie chcielibyśmy zautomatyzować ten proces. Poniżej rozwiązanie, którego znalezienie trochę mi zajęło, jednak na pewno nauczyłem się czegoś nowego.
  1. Uruchamiamy w konsoli polecenie:
    lsmod | grep vbox
  2. Kopiujemy nazwy wyświetlonych modułów.
  3. Tworzymy plik nopanic w katalogu /etc/init.d i edytujemy go:
    sudo touch /etc/init.d/nopanic
    sudo gedit /etc/init.d/nopanic
  4. Wklejamy do niego:
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides:          nopanic
    # Required-Start:    
    # Required-Stop:     
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: No panic
    # Description:       Shutdown withuout kernel panic
    ### END INIT INFO
    
    # Some things that run always
    touch /var/lock/nopanic
    
    # Carry out specific functions when asked to by the system
    case "$1" in
      start)
        ;;
      stop)
        echo "Removing modules vbox..."
        rmmod -f vboxpci vboxnetadp vboxnetflt vboxdrv
        ;;
      *)
        echo "Usage: /etc/init.d/nopanic {start|stop}"
        exit 1
        ;;
    esac
    
    exit 0
    gdzie w miejsce "vboxpci vboxnetadp vboxnetflt vboxdrv" podajemy moduły z polecenia lsmod | grep vbox (vboxdrv musi być na końcu)
  5. Zapisujemy plik i nadajemy mu uprawnienia do wykonywania:
    sudo chmod 755 /etc/init.d/nopanic
  6. Uruchamiamy polecenie:
    sudo update-rc.d nopanic defaults
To wszystko. Teraz przy zmykaniu systemu automatycznie zostaną wyłączone moduły sprawiające problem.