Domyślne uruchamianie Windowsa za pomocą GRUB boot loadera

Jakiś czas temu kupiłem nowego kompa i stary w schedzie przypadł mojej żonie. Mimo moich usilnych działań uświadamiających nadal przedkłada ona Windowsa ponad Linuxa więc jak tylko dostała laptopa w swoje władanie wierciła mi dziurę w brzuchu aby usunąć z dysku Ubuntu, a przynajmniej sprawić aby domyślnie uruchamiał się Windows 7.

Zmiana kolejności uruchamiania w GRUB boot loaderze jest dość prostą czynnością wielokrotnie opisywaną w necie. Należy jednak zwrócić uwagę na wersję GRUB-a, gdyż w przypadku np. najnowszego Ubuntu używany jest GRUB2, w którym zmianę kolejności bootowania robi się nieco inaczej.

Przede wszystkim należy wyedytować odpowiedni plik

sudo /etc/default/grub

i odnaleźć w nim opcję GRUB_DEFAULT domyślnie ustawioną na 0

GRUB_DEFAULT=0

Liczba odnosi się do pozycji w menu bootowania. Taka lista wpisów może wyglądać następująco:

Ubuntu, Linux 3.0.0-17-generic
Ubuntu, Linux 3.0.0-17-generic (recovery mode)
memory test (memtest86+)
memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)

Tak więc aby ustawić Windowsa jako domyślnie uruchamiany system należało by opcji GRUB_DEFAULT przypisać 4

GRUB_DEFAULT=4

Na koniec niezbędnym jest jeszcze aktualizacja ustawień GRUBA2 poprzez wykonanie polecenia

sudo update-grub

To wystarcza by zmienić kolejność bootowania. Jednak jest mały problem. Polega na tym, że przy aktualizacji kernela do nowej wersji do menu dodawane są nowe linie i wpis dotyczący Windowsa przesuwa się na dalszą pozycję. Można oczywiście każdorazowo aktualizować ustawienia GRUB2-a jednak jest lepsze rozwiązanie.

W pliku /boot/grub/grub.cfg odszukujemy sekcję odpowiedzialną za uruchamianie Windowsa

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 24B2367EB2365510
	chainloader +1
}

i do opcji GRUB_DEFAULT przypisujemy tytuł wpisu zamiast jego numeru

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"

W ten sposób co prawda pozycja wpisu w menu się nie zmieni, ale za to przy inicjalizacji domyślnie zaznaczona będzie pozycja w menu dotycząca Windowsa i jeżeli nie zareagujemy to po czasie określonym w opcji GRUB_TIMEOUT uruchomi się Windows.

Jak już pisałem aktualizację ustawień GRUB2 kończy polecenie sudo update-grub. Bez jego wykonania zmiany w ustawieniach nie zostaną uwzględnione.

Instalacja (downgrade) php 5.2.x w Ubuntu 10.04 Lucid

W końcu zdecydowałem się zaktualizować Ubuntu do nowszej wersji 10.04. Ku mojemu zaskoczeniu upgradowi uległ też PHP do wersji 5.3. Nie jest to przeze mnie koniecznie porządane w tym momęcie gdyż mam masę projektów, które nie zadziałają (jeszcze) z PHP w najnowszej wersji. Dlatego koniecznym stał sie downgrade do wersji 5.2. Na necie można znaleść wiele wskazówek jak tego dokonać.

Ja początkowo skorzystałem z artykułu pt. [Install (downgrade) php 5.2.x in Ubuntu 10.04 Lucid](http://mrkandy.wordpress.com/2010/04/16/install-php-5-2-x-in-ubuntu-10-04-lucid/). Niestety PHP po restarcie Apacha się nie odpalił. Ponieważ czasu miałem mało, nie zagłębiałem się w przyczynę niepowodzenia. Poszukałem i na jednym z forów o Ubuntu znalazłem gotowy skrypt bash-a.

#!/bin/bash
# by Ruben Barkow (rubo77) http://www.entikey.z11.de/
 
# Originally Posted by Bachstelze http://ubuntuforums.org/showthread.php?p=9080474#post9080474
# OK, here's how to do the Apt magic to get PHP packages from the karmic repositories:
 
echo "Am I root?  "
if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then
  echo "  NO!
 
Error: You must be root to run this script.
Enter
sudo su
"
  exit 1
fi
echo "  OK";
 
 
# finish all apt-problems:
apt-get -f install
 
# remove all your existing PHP packages. You can list them with dpkg -l| grep php
PHPLIST=$(for i in $(dpkg -l | grep php|awk '{ print $2 }' ); do echo $i; done)
echo these pachets will be removed: $PHPLIST 
# you need not to purge, if you have upgraded from karmic:
aptitude remove $PHPLIST
# on a fresh install, you need purge:
# aptitude remove --purge $PHPLIST
 
 
#Create a file each in /etc/apt/preferences.d like this (call it for example /etc/apt/preferences.d/php5_2);
#
#Package: php5
#Pin: release a=karmic
#Pin-Priority: 991
#
#The big problem is that wildcards don't work, so you will need one such stanza for each PHP package you want to pull from karmic:
 
echo ''>/etc/apt/preferences.d/php5_2
for i in $PHPLIST ; do echo "Package: $i
Pin: release a=karmic
Pin-Priority: 991
">>/etc/apt/preferences.d/php5_2; done
 
# duplicate your existing sources.list replacing lucid with karmic and save it in sources.list.d:
#sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list
 
# better exactly only the needed sources, cause otherwise you can get a cachsize problem:
echo "# needed sources vor php5.2:
deb http://de.archive.ubuntu.com/ubuntu/ karmic main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic main restricted
 
deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
 
deb http://de.archive.ubuntu.com/ubuntu/ karmic universe
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic universe
deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe
 
deb http://de.archive.ubuntu.com/ubuntu/ karmic multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic multiverse
deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
 
deb http://security.ubuntu.com/ubuntu karmic-security main restricted
deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted
deb http://security.ubuntu.com/ubuntu karmic-security universe
deb-src http://security.ubuntu.com/ubuntu karmic-security universe
deb http://security.ubuntu.com/ubuntu karmic-security multiverse
deb-src http://security.ubuntu.com/ubuntu karmic-security multiverse
" >> /etc/apt/sources.list.d/karmic.list
 
aptitude update
 
apache2ctl restart
 
echo install new from karmic:
aptitude -t karmic install $PHPLIST
 
# at the end retry the modul libapache2-mod-php5 in case it didn't work the first time:
aptitude -t karmic install libapache2-mod-php5
 
apache2ctl restart

Powyższy kod wystarczy zapisać w pliku o dowolnej nazwie np. phpdowngrade.sh, nadac mu prawa wykonalności

chmod +x ./phpdowngrade.sh

… i odpalić.

UWAGA!
Aktualizacja PHP przez Synaptica przywróci nam z powrotem wersję 5.3. Doinstalowywanie wszelkich dodatków powinniśmy wykonywać z uwzględnieniem wydania. Najprościej to zrobić uzywając konsolowego programu aptitude.

sudo aptitude -t karmic install php5-mysql
sudo aptitude -t karmic install phpmyadmin

Posted in GNOME by Zbigniew Heintze

Krusader w Ubuntu – jak podpiąć terminal?

Krusader jest dydykowany KDE jednak jeśli ktoś lubi dwa panele to równie dobrze można go uruchomić pod GNOME. Konfiguracja nie różni się właściwie od tej pod KDE poza kilkoma drobiazgami. W GNOME domyślnym edytorem jest „gedit” a konsolą „gnome-terminal” w związku z czym w zakładce Ustawienia -> Konfiguracja Krusadera -> Ogólne na karcie Podstawowe operacje w polu Edytor zamiast

internal editor

warto wpisać

gnome

natomiast w polu Terminal zamiast

konsole --workdir %d

powinniśmy wpisać

gnome-terminal --working-directory=%d

.

Tyle że po zapisaniu i wybraniu F2 terminal się uruchomi, ale bynajmniej nie w bieżącej lokalizacji. W Krusaderze jest błąd, który po zapisaniu zmienia %d na %25d czyli dostajemy gnome-terminal –working-directory=%25d. Można ten problem obejść edytując ręcznie plik konfiguracyjny ~/.kde/share/config/krusaderrc. W sekcji [General] wpisujemy

Terminal=gnome-terminal --working-directory %d

Proszę zwrócić uwagę na brak znaku równości „=”.

Dropbox KDE

Instalacja [Dropboxa](https://www.dropbox.com) w Ubuntu to banał. Wystarczy wyedytować listę repozytoriów:

sudo gedit /etc/apt/sources.list

wkleić adresy repozytoriów Dropboxa

deb http://linux.dropbox.com/ubuntu karmic main
deb-src http://linux.dropbox.com/ubuntu karmic main

i zainstalować pakiet nautilus-dropbox

sudo apt-get install  nautilus-dropbox

Pakiet po zainstalowaniu pojawia się w menu->internet. Wystarczy uruchomić i postępować zgodnie z instrukcjami uruchomionego wizarda. Po przelogowaniu mamy działającego i synchronizującego pliki Dropboxa.

W KDE nie mamy jednak nautiliusa a Dropbox nie oferuje pakietów dla Dolphina o Krusaderze nie wspominając. Co zatem? Alternatywne metody instalcji opisane są w zakładce [TipAndTricks](http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall) na stronie Dropboxa.

Mając zainstalowane Kubuntu operacja nie jest tak trudna jakby się można tego spodziewać po oficjalnym „poradniku”.

Przede wszystkich wchodzimy do katalogu domowego.

cd ~/

Następnie przy pomocy wget-a ściągamy klienta [32](http://www.dropbox.com/download?plat=lnx.x86) lub [64](http://www.dropbox.com/download?plat=lnx.x86_64) bitowego.

wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86

Ściągnięte archiwum rozpakowujemy

tar -zxof dropbox.tar.gz

W katalogu domowym powinien nam się pojawić katalog *.dropbox-dist*. W tym momencie archiwum można już usunąć. Aby uruchomić Dropboxa wystarczy wywołać

~/.dropbox-dist/dropboxd &

znak „&” na końcu komendy spowoduje uruchomienie w tle

Lepiej jednak utworzyć link w autostarcie KDE dzięki czemu Dropbox wystartuje każdorazowo wraz z X-ami.

ln -sf ~/.dropbox-dist/dropboxd ~/.kde/Autostart/

Wzrokowcom polecam filmowy tutorial.

W Nautiliusie po wrzuceniu pliku do Dropboxa z menu kontekstowego można wybrać internetowy adres do udostępnionego w ten sposób zasobu i podesłać go znajomemu mailem lub też wkleić w okno komunikatora. Po wejściu na podany adres w oknie przeglądarki znajomy będzie mógł zobaczyć opublikowane przez nas zdjęcia lub też ściągnąć plik. W Dolphinie taką funkcjonalność możemy uzyskać dzięki niewielkiemu programowi [dropbox-servicemenu-kde](http://linux.softpedia.com/get/Desktop-Environment/Tools/dropbox-servicemenu-kde-52232.shtml).

Po ściągnięciu ze strony paczkę należy rozpakować, wejść do katalogu z narzędziem i zainstalować wywołując komędę.

chmod 755 install.sh
./install.sh

Skrypt ściągnie niewielki programik napisany w Pythonie, który wzbogaci menu kontekstowe Dolphina o dodatkowe opcje.

Właściwie jedyne czego brakuje to ikonek wskazujących stan synchronizacji poszczególnych plików i katalogów. Poza tym funkcjonalność Dropboxa w KDE nie odbiega od tej w Ubuntu.

Jak wyłączyć/zrestartować Kubuntu 9.10

Od jakiegoś czasu klikanie przycisków wyłącz, zrestartuj, wyloguj itp. w KDE mija się z celem. Pojawia się okienko z odliczaniem po czym kiedy czas mija znika i puplit rozświetla się jakbym całą operacje anulował. Wcześniejsze potwierdzenie niczego nie zmienia. Jedyną działającą opcją jest „Przełącz użytkownika”. Po jej wybraniu zostaje wylogowany, pojawia się ekran logowania i na tym etapie mogę już wyłączyć system. Oczywiście zostanę jeszcze poinformowany o istnieniu sesji innego użytkownika (tej z której się właśnie ratowałem ucieczką ;)). Taki sposób wyłączania komputera bynajmniej nie jest najwygodniejszy i lepiej otworzyć konsolę i użyć komendy.

sudo shutdown -h -P now

Tym razem google nie przyszło mi z pomocą.

Posted in KDE by Zbigniew Heintze · Tag:

Aktualizacja Kubuntu do wersji 9.10 Karamic Koala

Zwykle podejmuję ryzyko aktualizacji systemu do nowszej wersji choć zawsze wtedy drżę czy wszystko pójdzie dobrze i czy znów nie spędzę paru godzin do doprowadzenia systemu do pełnej używalności.

Ostatnio tj. po aktualizacji do wersji 9.10 Jaunty Jackalope obyło się bez przygód. Byłem w niebo wzięty. Liczyłem, że i tym razem będzie podobnie. Niestety nie. Zaczęło się od tego, że nie mogłem nawiązać połączenia z netem. Nie bardzo rozumiem dlaczego system po aktualizacji gubi wszystkie dotychczasowe ustawienia, ale widać taki jest koszt aktualizacji KNetworkManagera. Niby pojawiło się w tym programie więcej opcji, niby zwiększyła się jego funkcjonalność, ale naprawdę nie wiem od czego zależy jego działanie. Nie dość że raz pokazuje wykryte sieci a innym razem nie to jeszcze już się skonfiguruje połączenie człowiek nie zawsze wie czy już się połączył czy jeszcze nie. Nie wspomnę, że KNetworkManager nie wykrywa rodzaju zabezpieczeń i nie potrafi połączyć się z siecią bezprzewodową z ukrytym SSID. Nie udało mi się skonfigurować połączenia przy zabezpieczeniu WPA2 Personal. Byłem już bliski sięgnięcia po wypróbowanego [WICD](http://wicd.sourceforge.net/) tyle, że bez netu nie mogłem go zainstalować 😉 W końcu udało mi się skonfigurować połączenie na WPA.

Przy wcześniejszych aktualizacjach zdarzało mi się, że musiałem na nowo konfigurować Apache-a lub też PHP. Widać, poradzono sobie z tym jednak ku mojemu zaskoczeniu problem pojawił się w miejscu, w którym absolutnie bym się go nie spodziewał. Po uruchomieniu [Eclipse-a](http://www.eclipse.org/) nagle przestało mi działać wyszukiwanie. Dokładniej rzecz biorąc to przyciski okien dialogowych przestały reagować na kliknięcie całkowicie je ignorując. Zrestartowałem Eclipse-a i nic. Zaciągnąłem sun-owskie środowisko uruchomieniowe sun-java6-jre i też to nic nie dało. W końcu (może powinienem od tego zacząć) sięgnąłem do googla i na [forum Ubuntu](http://forum.ubuntu.pl/) znalazłem [rozwiązanie](http://forum.ubuntu.pl/showthread.php?t=112148&highlight=eclipse). Dlatego właśnie używam tej dystrybucji. Wszelkie problemy szybko znajdują rozwiązanie.

Wracając jednak do Eclipse-a. Do czasu poprawienia błędu napisałem sobie skrypcik **eclipse.sh** ułatwiający uruchamianie eclipsa

export GDK_NATIVE_WINDOWS=1
/opt/eclipse/eclipse

Puki co więcej niespodzianek nie stwierdziłem i ogólnie rzecz biorąc jestem zadowolony z aktualizacji.

Nie wiem czy to tylko subiektywne wrażenie bo nie dokonywałem pomiarów, ale wydaje mi się, że system startuje szybciej. Po uruchomieniu pierwsze co się rzuca w oczy to poprawiony wygląd i usprawnienia w KDE 4.3.

Z dużym zadowoleniem przyjąłem ikonkę powiadomień, która na stałe zagościła na tatce systemowej. Teraz już nie ma problemu z przejrzeniem komunikatów o zdarzeniach mających miejsce w naszym systemie. Można je obejrzeć kiedy już znikną i samodzielnie zadecydować o ich usunięciu. Tego mi brakowało czemu dałem wyraz w jednym z wcześniejszych wpisów.

Cieszy też aktualizacja firefoxa do wersji 3.5, która nota bene powinna nastąpić już parę tygodni temu.

Czytałem, że zmiany nastąpiły co do wyboru domyślnego komunikatora. Ja mam to osobiście gdzieś gdyż używam tlen-a. O ile na Ubuntu nie miałem z nim nigdy większych problemów (nie licząc niedoskonałości wersji beta) o tyle na Kubuntu miałem wręcz permanentny kłopot, kiedy przychodziło do aktualizacji. Zwyczajnie po wpisaniu hasła nic się nie działo i trzeba było ręcznie ściągać nową wersję komunikatora – wiem, że to nie wina programistów Cannonical. Teraz ku mojemu zaskoczeniu aktualizacja po prostu się wykonała :D.

Zauważyłem parę zmian w menadżerze pakietów KPackageKit – zwłaszcza przy aktualizacji. Doceniam przede wszystkim możliwość sortowania wyników alfabetycznie. Do instalowania nowego oprogramowania jakoś mi ten program jednak nie pasuje i dalej sięgam do konsolowego aptitude.

To paradoks ale im dłużej używam Linuksa tym częściej sięgam do konsoli.

Upierdliwości KDE

##Zablokowane aktualizacje w Kubuntu

Komunikat o zablokowanych aktualizacjach w KPackageKit miałem od samego początku. Strasznie mnie irytował, ale ponieważ wszystko co chciałem działało odsuwałem tę drobną niedogodność na później licząc, że w końcu problem sam się rozwiąże. Wiem to naiwne i nieprofesjonalne podejście, ale co dziwne parę razy już się sprawdziło :D.

Minęło już kilka miesięcy (od czerwca), sprawa dojrzała i w końcu wpisałem w googlach „zablokowane aktualizacje”. Rozwiązanie otrzymałem, jak na tacy otwierając już pierwszy link. Wystarczyło wpisać:

sudo aptitude update
sudo aptitude safe-upgrade

Teraz wszystko działa jak trzeba.

##Znikające powiadomienia

W domu używam Kubuntu, ale na komputerze w pracy mam Ubuntu i muszę przyznać, że coraz bardziej się do niego przekonuje. Jakoś ta plasma w KDE4 mnie nie przekonuje. Mimo, że pracuję na tej wersji okien już całkiem sporo to jak muszę coś ustawić to zawsze szukam. Niby wszystko powinno być w settings ale te ustawienia wydają mi się wyjątkowo ubogie. Ostatnio działa mi na nerwy system powiadomień. Informacje pokazują się w jednym miejscu nad tray-em i są grupowane. Przeczytałem gdzieś, że powinna się cały czas pokazywać ikona powiadomień, i że można je jakoś skonfigurować wpływając m.in. na długość wyświetlania. U mnie nie dość, że taka ikona się nie pokazuje to zazwyczaj jak już jakieś info wyskoczy to nim zdążę je przeczytać znika i ni jak nie mogę go wywołać. Jak mnie to wkurza.

##Kopiuj wklej

Kolejną upierdliwością, która negatywnie wpływała na komfort pracy na KDE był problem z kopiowaniem fragmentów tekstów. Jako że programuję, często zdarza mi się zaznaczać fragment tekstu, wciskać Ctrl+C, a następnie stawiając w innym miejscu kursor wklejać tekst za pomocą skrótu Crl+V. Wszystko fajnie tylko, że niekiedy zanim wcisnę to Ctrl+V zaznaczam jeszcze fragment tekstu, który ma zostać nadpisany. I tu wyskakiwał zonk bo zaznaczony tekst automatycznie kopiował się do schowka i po wywołaniu akcji wklejania dostawałem nie to co chciałem. Początkowo myślałem, że to coś nie tak z eclipsem, ale pracując na Ubuntu nic takiego się nie dzieje. Winnym okazał się aplet Klipper. Na [dev.eclipse.org](http://dev.eclipse.org) udało mi się szybko znaleźć odpowiedź:

*You should either deactivate Klipper or uncheck ‚Prevent empty clipboard’ in Klipper’s settings.*

Szerzej problem ten jest opisany w artykule [Fixing Copy-Paste issues on Eclipse and KDE](http://techtavern.wordpress.com/2008/08/10/fixing-copy-paste-issues-on-eclipse-and-kde/)