XFCE: Difference between revisions
(172 intermediate revisions by 65 users not shown) | |||
Line 1: | Line 1: | ||
[http://www.xfce.org/ Xfce] is a lightweight but powerful desktop environment that will work well on the XO. The following is a tutorial for using Xfce on the XO based on the article from the [http://www.freelikegnu.org/?p=13 Free Like GNU] article and several forum posts. |
[http://www.xfce.org/ Xfce] is a lightweight but powerful desktop environment that will work well on the XO. The following is a tutorial for using Xfce on the XO based on the article from the [http://www.freelikegnu.org/?p=13 Free Like GNU] article and several forum posts. For a more-integrated Sugar/XFCE experience, see the [[XFCE and Sugar]] article. |
||
==Preamble== |
|||
Please read the following steps before proceeding to make sure you understand what is involved! We take no responsibility for you making your XO unbootable. Although the process is reasonably safe for your XO, you should know how to and have the ability to [http://wiki.laptop.org/go/Activated_Upgrade#Upgrade_the_Activated_Laptop wipe the XO and start fresh using a USB stick] incase you get into trouble! |
|||
Please also note that Xfce and other third-party modifications (all non .xo bundled applications) to your XO may be rendered inoperative when you upgrade the base OS to a new build. (See http://dev.laptop.org/ticket/6317) |
|||
== Instructions == |
== Instructions == |
||
=== Get Root === |
=== Get Root === |
||
Establish a connection to the internet. You will need the ability to connect to the internet to retrieve and update files from the OPLC's repositories. [[yum]] is the command that will retrieve the files you request and it will automatically install them. You will need to have [[root]] access to use yum. |
|||
* Get "root": Use the terminal activity and type <code>su</code> at the prompt and hit the return key. Your command prompt will now end with "#" this means you have "root" and can change any file on the computer. |
|||
If you can't get an internet connection first because of missing WPA encryption, follow WPA instructions first. These even work with Sugar. |
|||
Get "root": Use the [[Terminal Activity]] and type <code>su</code> at the prompt and press the [enter] key. Your command prompt will now end with "#" this means you have "root" and can change any file on the computer. |
|||
$ su |
$ su |
||
# |
# |
||
=== Install Packages === |
=== Install Packages === |
||
Install xfce, this will give you a very basic desktop environment and the ability to customize it. This will download about 40MBs to RAM, and then install the files automatically. Make sure that no other Activity is running. Otherwise during installation you will get an 'error: can't allocate memory'. To proceed, stop the Terminal Activity, reboot, restart the process. If you get a "Socket Error" that returns you to a prompt, use the up arrow to restore your original command and enter to restart the process. |
|||
# yum install xfdesktop xfce-utils xfce-mcs-plugins xfce4-session |
|||
# yum install xfdesktop xfce-utils xfce-mcs-plugins xfce4-session xfce4-icon-theme |
|||
* optional packages: orage (calendar), xfce-mixer (volume control), system-config-date (set datetime/timezone), genmon (generic monitor - can be used to output battery status, for example), systemload (shows CPU and memory usage) |
|||
Optional packages: xmms (audio player), orage (calendar), xfce-mixer (volume control), system-config-date (set date/time/timezone), genmon (generic monitor - can be used to output battery status, for example), systemload (shows CPU/Memory usage) |
|||
# yum install xmms orage xfce4-mixer system-config-date xfce4-genmon-plugin xfce4-systemload-plugin |
|||
* installing firefox requires that you remove its exclusion from the XO's repository list |
|||
** open the repository file with the following command: |
|||
=== GDM (gnome display manager) === |
|||
if you want to have your own login screen (users acounts) |
|||
* IT DOES NOT WORK WITH BUILD 767 as it fails to find dep libglade or sometin i cant install it it need deps they need deps. this seems to work with build 703 (yum version 8) not with 767 (yum version 19) |
|||
in fact system-config-date dont install any more. |
|||
simply do this |
|||
# su |
|||
# yum install gdm |
|||
let it install after it installs do this |
|||
# nano /etc/inittab |
|||
replace the end line on the file with this |
|||
# x:5:respawn:/usr/sbin/gdm -nodaemon |
|||
do this now on the keyboard |
|||
# CTRL-ALT-ERASE |
|||
to restart xfce |
|||
NOTE: this is how to install it and get it to start auto on the desktop |
|||
you need to also install system-config-users you need and also you need to change the passwd for user root (you need to loginto the acount wifi-radar this not work with user olpc no permision) + the user root has tons of that tha you can do but in that user be carfull you do not erase the file system (i.m prety sure you cant rewright after that) |
|||
(oh the owner of this page you can delete this if you won't) |
|||
THIS WORKS |
|||
dont forget PASSWORDs install system-config-users like this |
|||
# su |
|||
# yum install system-config-users |
|||
run as "root" (super user) change the password for users you can add or remove but remember a once you do this wifi-radar will only start to user "root". This is just telling you how to have more then one user |
|||
(if you have any questions e-mail me at everett95@gmail.com) |
|||
NEW UPDATE GDM DOES NOT WORK RIGHT IN BUILD 767 (FEDORA 9) SORRY. |
|||
=== Fix Problems With Install === |
|||
In the recent build olpc put a block on the install of most things causing issues with installing abiword and system-config-date and issues causing "yum update" to fail with NetworkManager. I have found a way to stop these (there are two ways) here are the ways to do it |
|||
<br><br>Option '''1'''<br> |
|||
# sudo nano /etc/yum/olpc-exclude |
|||
: you can erase it or in the file you will see a big list of programs DELETE all but the |
|||
# exclude= |
|||
: line it will look like that<br> |
|||
Option '''2'''<br> |
|||
: in the repos for yum file (/etc/yum.repos.d/) check throw all of them DELETE |
|||
: if you see this line it should look like this |
|||
# include=file:///etc/yum/olpc-exclude |
|||
: I know it's in the FEDORA.repo file check |
|||
: this is how to fix the problem with most installation of firefox yum update etc. I hope this fixes the problem |
|||
(if you have any questions e-mail me at everett95@gmail.com) |
|||
I will be posting how to install a better wifi manager (no bugs) in a bit. |
|||
<br><br> |
|||
=== Fix Problems Installing Firefox === |
|||
Installing Firefox requires that you remove its exclusion from the XO's repository list. |
|||
Open the repository file with the following command: |
|||
# nano /etc/yum.repos.d/olpc-koji-ship2.repo |
# nano /etc/yum.repos.d/olpc-koji-ship2.repo |
||
NOTE: in the latest builds (here tested on candidate-691) the command should be: |
|||
** remove the <code>firefox</code> entry from the last line, then save using CTRL+X and confirm with "y": |
|||
# nano /etc/yum.repos.d/olpc-koji-update1.repo |
|||
exclude=firefox,seamonkey,mozplugger,kdebase,kernel |
|||
Remove the <code>firefox</code> entry from the last line so it looks like this: |
|||
** install Firefox by running this command |
|||
exclude=seamonkey,mozplugger,kdebase,kernel |
|||
then save using CTRL+X and confirm with "y" |
|||
Install Firefox by running this command: |
|||
# yum install firefox |
# yum install firefox |
||
* tuxpaint, gimp, and gcompris and other popular applications can be found in the standard repositories - these can also be installed using <code>yum</code>: |
|||
=== Install Firefox 3 === |
|||
# yum install tuxpaint gimp gcompris |
|||
The stable version of Firefox 3 is available only if you've updated your XO to an OS image which uses Fedora 9. Older OS images will probably want to install Firefox 2 instead. This is confirmed to work on build 767, but probably works on any OS version past Update 1. |
|||
** start tuxpaint with 1024x768 and fullscreen |
|||
$ tuxpaint --1024x768 --fullscreen |
|||
Firefox 3 needs a newer version of nss, so download the latest nss package: |
|||
# wget ftp://ftp.univie.ac.at/systems/linux/fedora/updates/9/i386.newkey/nss-3.12.2.0-1.1.fc9.i386.rpm |
|||
Use it to upgrade the version you already have |
|||
# rpm -vU nss-3.12.2.0-1.1.fc9.i386.rpm |
|||
Install firefox |
|||
# yum install firefox |
|||
=== Install Opera Browser === |
|||
Installing [[Opera]] browser seems better for surf performance. Download (with Firefox) from www.opera.com/download > Other Versions > Linux i386 > Distribution > Other/Static RPM. Save the rpm-file to /home/olpc. Install with |
|||
# su |
|||
# rpm -vi opera (use tab to complete filename) |
|||
Run browser with Xfce menu Run Program > opera to test. |
|||
If you get the message "libqt-mt.so.3 is needed by opera", you may need to install the qt library: |
|||
# su |
|||
# yum install qt |
|||
# ldconfig |
|||
=== Install Abiword === |
|||
To remove the surgarized office version and replace it with a fully functional word program, install like |
|||
$ su |
|||
# rpm -e pyabiword |
|||
# yum remove libabiword |
|||
# yum install abiword |
|||
Abiword is now installed under the Xfce office menu. |
|||
=== WICD wifi manager the best === |
|||
This is instructions on how to install WICD wifi manager. This method will save a lots of problems in the future. |
|||
What!? Don't tell that WIFI-RADAR isn't working for ya! Well... Your in luck! |
|||
PLEASE INSTALL WICD INSTED OF WIFI-RADAR |
|||
And how to install it: |
|||
# su or sudo for all of it |
|||
# cd /usr/local/src |
|||
# wget http://downloads.sourceforge.net/wicd/wicd-1.6.2.2.tar.gz |
|||
# tar xf wicd-1.6.2.2.tar.gz |
|||
# cd ./wicd (use tab to finesh file name) |
|||
now to install just type |
|||
# python setup.py configure |
|||
# python setup.py install |
|||
if it says err blagh blagh just create the files/dir |
|||
with mkdir and nano |
|||
If you run into any trouble with the install process feel free to e-mail for help at: everett95@gmail.com |
|||
I can't guarantee this method will work (Posted back in 2008, SORRY for my spelling and grammar, I'm in grade nine now! It's been a long time and I have kind of lost my talent for XFCE. But I will try and help... If anyone even looks at this age anymore... |
|||
=== Manage WiFi Networks === |
=== Manage WiFi Networks === |
||
You can use wifi-radar to manage your wireless connection within xfce |
You can use wifi-radar to manage your wireless connection within xfce. |
||
# yum install wifi-radar |
# yum install wifi-radar |
||
You can run wifi-radar through the xfce menu under "Networking". After running it once, a file will be created at <code>/etc/wifi-radar/wifi-radar.conf</code>. Open this file in a text editor, and change the line which reads: |
You can run wifi-radar through the xfce menu under "Networking". After running it once, a file will be created at <code>/etc/wifi-radar/wifi-radar.conf</code>. Open this file in a text editor, and change the line which reads: |
||
Line 50: | Line 152: | ||
If you want to run wifi-radar as a daemon which will automatically connect to a preferred network: |
If you want to run wifi-radar as a daemon which will automatically connect to a preferred network: |
||
$ wifi-radar -d |
$ wifi-radar -d |
||
You should start the daemon with Xfce settings Auttostarted Applications using command /usr/sbin/wifi-radar -d |
|||
=== Manage WPA2 and WPA Keys with XFCE=== |
|||
=== Displaying Battery Status === |
|||
You can connect to Wireless Access Points using WPA and WPA2 keys. Following solution don't require wifi-radar, thus work stand-alone for preferred WiFi-connection. This method, once applied, even works with Sugar persistently. |
|||
==== Add WPA Keys ==== |
|||
* create a script file (using <code>nano -w /home/olpc/battery.sh</code>) with the following contents: |
|||
Prepare your wireless network configuration. Edits can be added muliple for various connection types. |
|||
echo `hal-device | grep charge_level.percentage | awk '{print $3}'`% |
|||
# nano /etc/wpa_supplicant/wpa_supplicant.conf |
|||
* make the file executable: <code>chmod +x /home/olpc/battery.sh</code> |
|||
Adding following lines for WPA2 or WPA1 keys |
|||
* use genmon (see above) to display the battery status in a toolbar |
|||
** right-click on a blank spot on an Xfce toolbar, chose Add Item, select Generic Monitor and clicked Add |
|||
** right-click the new Generic Monitor item, select Properties, and apply the following settings: |
|||
*** '''Command:''' /home/olpc/battery.sh |
|||
*** '''Label:''' B |
|||
*** '''Period:''' 300 |
|||
'''WPA2 Connect Entry''' |
|||
=== Backlight Control === |
|||
network={ |
|||
ssid="MyHome WiFi Name" |
|||
scan_ssid=1 |
|||
proto=RSN |
|||
key_mgmt=WPA-PSK |
|||
pairwise=CCMP |
|||
group=CCMP |
|||
psk="My Paraphrase" |
|||
} |
|||
'''WPA1 Connect Entry''' |
|||
The backlight can be controlled with a simple script: |
|||
network={ |
|||
#!/bin/sh |
|||
ssid="MyHome WiFi Name" |
|||
F="/sys/class/backlight/dcon-bl/brightness" |
|||
scan_ssid=1 |
|||
if [ "$1" -a "$1" -lt 16 -a "$1" -ge 0 ] ; then |
|||
proto=WPA |
|||
key_mgmt=WPA-PSK |
|||
else |
|||
pairwise=CCMP TKIP |
|||
echo -e "useage:\n $0 number" |
|||
group=CCMP TKIP |
|||
echo "where number is between 0 and 15." |
|||
psk="My Paraphare" |
|||
fi |
|||
} |
|||
Using WPA, options pairwise and group may vary between 'CCMP' or 'TKIP'. Get Wireless Access Point settings by running command line program 'iwlist scanning', looking for preferred wifi connection. 'CCMP' seems preferrable. |
|||
=== |
==== Edit sysconfig ==== |
||
Edit file |
|||
* Install xbindkeys. Add xbindkeys to the .xsession startup script. |
|||
# nano /etc/sysconfig/wpa_supplicant |
|||
* Set permissions by adding this line to /etc/rc.local : |
|||
Read line INTERFACE="-iwlan0". Set to |
|||
chmod 666 /sys/class/backlight/dcon-bl/brightness |
|||
INTERFACES="-ieth0" |
|||
That gives non-root users permission to change the brightness. |
|||
* make a script to brighten things: |
|||
#!/bin/sh |
|||
## /home/olpc/bin/bright |
|||
F="/sys/class/backlight/dcon-bl/brightness" |
|||
C=`cat "$F"` |
|||
if [ "$C" -le 14 ] ; then |
|||
echo $(($C + 1)) > "$F" |
|||
fi |
|||
make the script executble |
|||
$ chmod +x /home/olpc/bin/bright |
|||
* make a script to dim the backlight by one: |
|||
#!/bin/sh |
|||
## /home/olpc/bin/dim |
|||
F="/sys/class/backlight/dcon-bl/brightness" |
|||
C=`cat "$F"` |
|||
if [ "$C" -ge 1 ] ; then |
|||
echo $(($C - 1)) > "$F" |
|||
fi |
|||
and make the script executble: |
|||
$ chmod +x /home/olpc/bin/dim |
|||
* Add these lines to /home/olpc/.xbindkeysrc |
|||
"/home/olpc/bin/dim" |
|||
F9 |
|||
"/home/olpc/bin/bright" |
|||
F10 |
|||
=== |
==== Restart eth0 ==== |
||
For some reason you must reset network device while booting. |
|||
# nano /etc/rc.local |
|||
After read "touch /var/lock/subsys/local" insert |
|||
ifdown eth0 |
|||
ifup eth0 |
|||
==== Disable NetworkManager ==== |
|||
* as root, install xbindkeys: <code># yum install xbindkeys</code> |
|||
Disable network manager permanently by |
|||
* as user (''not'' root) create the default config file: <code>xbindkeys -d > /home/olpc/.xbindkeysrc</code> |
|||
# /sbin/chkconfig NetworkManager off |
|||
* open the config file with a text editor (e.g. <code>nano -w /home/olpc/.xbindkeysrc</code>) and add the following code at the bottom: |
|||
Sugar Notice: NetworkManager manages Sugars 'Neigbourhood'. Once turned off, Neigbourhood will stay empty. But you'll win a 'hidden' stable and persistent WiFi connection instead. When turned on again, NetworkManager ask for password, which fails. Turn off again and reboot to connect. |
|||
<pre> |
|||
# decrease volume (F11) |
|||
"amixer -c 0 set Master,0 2dB-" |
|||
c:95 |
|||
# increase volume (F12) |
|||
"amixer -c 0 set Master,0 2dB+" |
|||
c:96 |
|||
</pre> |
|||
=== |
==== Install wpa_supplicant demon ==== |
||
Enable wpa_supplicant permanently by |
|||
* xrandr functions as expected, so you can rotate the display to the right by |
|||
# /sbin/chkconfig --level 2345 wpa_supplicant on |
|||
$ xrandr -o right |
|||
Your system must be rebooted to access the web. |
|||
Enable wpa_supplicant temporarily and test by |
|||
To bind rotation to the OLPC rotation key, create the following script: |
|||
# wpa_supplicant -Dwext -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf & |
|||
<pre> |
|||
# iwconfig |
|||
#!/usr/bin/python |
|||
# Rotates the screen 90 degrees on the olpc |
|||
==== Xfce startup message ==== |
|||
import os |
|||
While launching Xfce there is a dhcp warning 'Could not lookup <hostname>'. You could continue anyway. |
|||
import re |
|||
To get rid of this nagging message, or if you are running Wifi-Radar, you should follow the instructions given! In the warning message, there is a hostname named 'dhcppc1' or similar. Insert this given hostname in your systems hosts-list |
|||
# nano /etc/hosts |
|||
Insert line read |
|||
# 127.0.0.1 dhcppc1 |
|||
==== Wifi-Radar setting ==== |
|||
# Get current screen orientation |
|||
You need Wifi-Radar only if you move between different networks. Wifi-Radar with WPA keys IS working, roughly. First of all, Wifi-Radar only runs with root privilege! That means, on XO you cannot run WR from the XFCE menue. In XFCE, open a terminal window, get root and start |
|||
xr = os.popen("xrandr -q").read() |
|||
# su |
|||
m = re.search(r'\+\d\s+(.*?)\s*\(',xr) |
|||
# wifi-radar |
|||
if not m: |
|||
Now, check your preferred WPA network - the one you installed before - and click Edit. Set |
|||
raise "No match!" |
|||
Use WPA |
|||
Driver: wext |
|||
Connection commands |
|||
# Generate new orientation |
|||
Before: ifup eth0 |
|||
rot = m.group(1) |
|||
After: ifdown eth0 |
|||
if rot=="": |
|||
Save changes. Close program, start again in the terminal. Now try to disconnect and connect. If Wifi-Radar get hooked, just kill it in the terminal window by pressing CTRL + C twice. In the terminal window, you can see WR acting. If it is allright, end WR with the Close-Button. |
|||
new_rot=1 |
|||
For some reason, after you 'touched' WR once per session with root in the terminal window, you can now start WR with XFCE menue. If you want to connect to another network listed, you must edit according profile. If you want to connect to another WPA network, you must add an entry in the wpa_supplicant.conf. (There may be some ways to use visudo to avoid root.) |
|||
elif rot=="left": |
|||
new_rot=2 |
|||
elif rot=="inverted": |
|||
new_rot=3 |
|||
else: |
|||
new_rot=0 |
|||
===Using nm-applet instead of Wifi-Radar in xfce=== |
|||
os.system("xrandr -o " + str(new_rot)) |
|||
With the xfce desktop, one can use nm-applet to connect much more easily to a variety of wifi-hotspots. I find it to be much easier to set up than wifi-radar. |
|||
</pre> |
|||
====Setting up nm-applet==== |
|||
and make it executable: |
|||
#Connect to some sort of wifi hotspot, any way you can. You could also use a usb key, but it is easier to explain with yum |
|||
#download nm-applet. As root, <b>yum install NetworkManager-gnome --enablerepo=fedora</b> |
|||
#download some gnome UI elements <b>yum install libgnomeui</b> download is less than 4 megs |
|||
#add <b>nm-applet &</b> to your .xsession file found at /home/olpc/.xsession |
|||
#undo your wifi radar, wpa supplicant, or any other hacks you did to connect to the internet. nm-applet uses the same setup as sugar default. Make sure you turn NetworkManager back on |
|||
#restart, and enjoy nm-applet! |
|||
NOTE: IF you get an error(something about d-bus) just ignore it, nm-manager should still work. |
|||
<pre> |
|||
chmod +x /home/olpc/bin/rotscreen |
|||
</pre> |
|||
NOTE 2: With Build 656 it seems impossible to install NetworkManager-gnome because of lacking dependencies relating 'redhat-artwork'. If this is the case, find a Fedora 7 RPM ([http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/NetworkManager-gnome-0.6.5-2.fc7.i386.rpm link]) and install using an RPM and the --nodeps flag |
|||
Connect it to the OLPC rotate button by adding the following two lines to <tt>/home/olpc/.xbindkeysrc</tt>: |
|||
NOTE 3: Update 06/30/2008 by a user. Once I installed XFCE I couldn't get internet working. Wifi-radar wouldn't get an IP from my router. I had to get NetworkManager from the link above on another computer and put it on a flash drive. After installing it, I couldn't get it to autorun. But, I figured it out from a post on Linuxlore. I had to copy /usr/share/gnome/autostart/nm-applet.desktop to /etc/xdg/autostart/. Then, I had to edit the new nm-applet.desktop file and change 'OnlyShowIn=GNOME;' to 'OnlyShowIn=GNOME;XFCE;'. Now it runs on startup. |
|||
<pre> |
|||
"/home/olpc/bin/rotscreen" |
|||
XF86Display |
|||
</pre> |
|||
NOTE 4: I have nm-applet working just fine on build 711. I had to manually install the rpm like above. Once installed I found that it would complain it couldn't save anything until gnome-keyring-daemon is started. So under xfce menu -> settings -> Autostarted Applications add first 'gnome-keyring-daemon' (minus the puotes of course) and second 'nm-applet --sm-disable' (--sm-disable is very important. If you don't add that option you'll end up with multiple nm-applet running). Restart and you should see nm-applet on your panel. The first time you try to connect it will ask you for a new keyring password, choose one and off you go. I still get the occasional D-BUS error after connecting, but otherwise, it connects just fine and remembers my settings/passwords. |
|||
'''Note:''' Rotation does not automatically resize the windows. If you are using fullscreen mode this may be fixed by pressing Ctrl-F11 twice. |
|||
=====Notes for build 767===== |
|||
When trying to launch nm-applet from the command line as a non-root user, it may fail with this error: |
|||
nma_dbus_init(): could not acquire its service. nma_dbus_init (): could not acquire its service. dbus_bus_acquire_service() says: 'Connection ":1.38" is not allowed to own the service "org.freedesktop.NetworkManagerInfo" due to security policies in the configuration file' |
|||
This is because the security policy has been configured to allow the root user to run nm-applet, not the olpc user. This can be worked around by running "sudo nm-applet" from a terminal, however this will not successfully autorun on startup. To allow the olpc user to run nm-applet on startup, edit the following files: |
|||
/etc/dbus-1/system.d/NetworkManager.conf |
|||
/etc/dbus-1/system.d/NetworkManagerInfo.conf |
|||
/etc/dbus-1/system.d/nm-applet.conf |
|||
/etc/dbus-1/system.d/nm-avahi-autoipd.conf |
|||
/etc/dbus-1/system.d/nm-dhcp-client.conf |
|||
In each file, copy the section of text which starts with <policy user="root"> and ends with </policy>. |
|||
Paste it immediately below the </policy> line, and change the <policy user="root"> line to <policy user="olpc">. |
|||
For example: |
|||
<policy user="root"> |
|||
<allow own="org.freedesktop.nm_dhcp_client"/> |
|||
<allow send_interface="org.freedesktop.nm_dhcp_client"/> |
|||
</policy> |
|||
Becomes: |
|||
<policy user="root"> |
|||
<allow own="org.freedesktop.nm_dhcp_client"/> |
|||
<allow send_interface="org.freedesktop.nm_dhcp_client"/> |
|||
</policy> |
|||
<policy user="olpc"> |
|||
<allow own="org.freedesktop.nm_dhcp_client"/> |
|||
<allow send_interface="org.freedesktop.nm_dhcp_client"/> |
|||
</policy> |
|||
Then reboot. |
|||
====Trouble reconnecting==== |
|||
nm-applet seems to suffer from the same issue of corrupted wifi password file (networks.cfg) which plagues sugar. Here's my attempt at a work around. |
|||
#On a toolbar in xfce, create a launcher (right click a toolbar, hit add) which runs the text <b>rm /home/olpc/.sugar/default/nm/networks.cfg</b> in the terminal (check the box when creating it) you only need to do this once! |
|||
#right click nm-applet in your systray, and click "disable wireless." right click again and click "disable networking" |
|||
# click your launcher to delete the networks.cfg file. You could also open a terminal and paste <b>rm /home/olpc/.sugar/default/nm/networks.cfg</b> into the terminal |
|||
#Then, right click nm-applet and restart networking, wireless |
|||
#click on nm-applet and "connect to other network" Manually type in your wireless network name and password, do not click on your wireless in the drop down if you see it. Sometimes it works, and sometime it doesn't, so inputting manually seems to work more often. |
|||
# you should be connected! |
|||
== Screen Brightness/Rotation, Sound Volume, and Battery Status Control == |
|||
The following method is a simple method using a script. for a more detailed version, see [[Xfce keybindings]] for detailed instructions. This script has been reported several times to not work with build 703 or later installed. (Note 1: the problem appears to be a lack of visudo in olpc-sudo. I've gotten it to work by copying a working sudoers file to /etc. This is the file. http://www.filedropper.com/sudoers . (-- link is dead. re-upload please?) I copied the sudoers file before running the script, it may make a difference.) |
|||
The keys on your XO can be easily made functional again by installing the rpm on this page: [http://favias.org/introducing-olpckeybind olpc-keybind]. This RPM contains the scripts to perform the operations and the instructions to configure your default olpc user account to use them. |
|||
This rpm depends on xbindkeys. Because this rpm doesnt yet exist in the official repositry you have to do the following in a terminal (as root) to install it: |
|||
yum install xbindkeys |
|||
rpm -Uhv http://favias.org/sites/favias.org/files/olpc-keybind-1-2.noarch.rpm |
|||
To remove this functionality the following command as root in terminal will suffice: |
|||
yum remove olpc-keybind xbindkeys |
|||
'''Screen brightness''' did not initially adjust, as root you have to: |
|||
chmod a+rw /sys/class/backlight/dcon-bl/brightness |
|||
chmod a+rw /sys/class/backlight/dcon-bl/max_brightness |
|||
'''On error''' 'scriplet failed' run as root /usr/bin/olpc-keybind manually. Run xbindkeys & for testing. If xbindkeys is giving you errors you may need to open olpc-keybind and change all references .xbindkeysrc from "/home/olpc/.xbindkeyssrc" to "/root/.xbindkeysrc". If everything works, add /usr/bin/xbindkeys to Xfce Autostarted Applications via Setting Menue. |
|||
'''Screen rotation''' does not automatically resize the windows. If you are using fullscreen mode this may be fixed by pressing Alt-F11 twice. |
|||
=== Displaying Battery Status in panel === |
|||
* Install [http://www.favias.org/introducing-olpckeybind olpc-keybind rpm] for the battery-status binary it provides |
|||
* use genmon (see above) to display the battery status in a toolbar |
|||
** right-click on a blank spot on an Xfce toolbar, chose Add Item, select Generic Monitor and clicked Add |
|||
** right-click the new Generic Monitor item, select Properties, and apply the following settings: |
|||
*** '''Command:''' battery-status |
|||
*** '''Label:''' B |
|||
*** '''Period:''' 300 |
|||
Another option is to create a small script in /home/olpc called battery.sh (or whatever you would like) with the following line in it: |
|||
"echo hal-device | grep charge_level.percentage | sed 's/$/%/' /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/capacity" |
|||
save this script and make sure that the user 'olpc' owns it (chown olpc /home/olpc/battery.sh) and it is executable (chmod +x /home/olpc/battery.sh) |
|||
Then... |
|||
** right-click on a blank spot on an Xfce toolbar, chose Add Item, select Generic Monitor and clicked Add |
|||
** right-click the new Generic Monitor item, select Properties, and apply the following settings: |
|||
*** '''Command:''' /home/olpc/battery.sh |
|||
*** '''Label:''' B |
|||
*** '''Period:''' 300 |
|||
===Getting normal fonts for web browsing, xfce desktop=== |
|||
If you think your fonts look a little funny on xfce, you may appreciate more "typical" fonts for your web browser and your desktop. However, this is not entirely "free," but the package itself is distributable for free |
|||
#Download the mscorefonts rpm from this website [ftp://ftp.gwdg.de/pub/linux/misc/suser-jengelh/AnyDistro/noarch/MicrosoftFonts-1-jen14.noarch.rpm Mscorefonts rpm] |
|||
#open a terminal as root, in the folder you downloaded the rpm to, and type: <b>rpm -i Micro</b> Pressing tab should auto-complete the file name |
|||
#restart your computer. |
|||
Alternatively, you could install the [http://en.wikipedia.org/wiki/Liberation_fonts Liberation Fonts] package. These are non-proprietary, unlike the Microsoft fonts. There are three fonts included which are metrically equivalent to Arial, Times New Roman and Courier New. |
|||
The rpm is available [http://dag.wieers.com/rpm/packages/liberation-fonts/ here]. |
|||
Also, you can change your default user interface fonts in the Xfce "User interface settings" and changing the font to a size you recognize. You may set Font DPI to 150. It's also good to turn on anti-aliasing (slight). |
|||
=== Mounting Removable Filesystems === |
=== Mounting Removable Filesystems === |
||
Line 175: | Line 363: | ||
# To unmount, right click on the media name in the same place and choose unmount. |
# To unmount, right click on the media name in the same place and choose unmount. |
||
== Change default desktop == |
|||
* in <code>/home/olpc/</code> create a copy of <code>.xsession-example</code> called <code>.xsession</code>: |
|||
[=== Turn Xfce to default desktop === |
|||
In <code>/home/olpc/</code> create a copy of <code>.xsession-example</code> called <code>.xsession</code>: |
|||
#cp /home/olpc/.xsession-example /home/olpc/.xsession |
#cp /home/olpc/.xsession-example /home/olpc/.xsession |
||
Edit the <code>.xsession</code> file to launch Xfce on startup: |
|||
# nano /home/olpc/.xsession |
# nano /home/olpc/.xsession |
||
Find the commented line that reads <code>#exec xterm</code> - below that line, add the following code: |
|||
exec startxfce4 |
exec startxfce4 |
||
* use CTRL+X to save and exit |
* use CTRL+X to save and exit |
||
* use CTRL+ALT+BACKSPACE to restart X, starting Xfce |
* use CTRL+ALT+BACKSPACE to restart X, starting Xfce |
||
]{| class="wikitable" |
|||
|- |
|||
<blockquote> |
|||
! header 1 |
|||
! header 2 |
|||
! header 3 |
|||
|- |
|||
| row 1, cell 1 |
|||
| row 1, cell 2 |
|||
| row 1, cell 3 |
|||
|- |
|||
| row 2, cell 1 |
|||
| row 2, cell 2 |
|||
| row 2, cell 3 |
|||
</blockquote> |
|||
<gallery> |
|||
Image:Example.jpg|Caption1 |
|||
Image:Example.jpg|Caption2 |
|||
</gallery> |
|||
|} |
|||
=== Turn back to XO Sugar desktop === |
|||
To make the original XO Sugar desktop the default boot again, rename the <code>.xsession</code> file to anything other than .xsession (<code>.xsession.xfce</code> for instance). Applied changes, e.g. networking, may stay persistent. |
|||
=== Install Sugar/XFCE Control Panel === |
|||
c-scott has created a script that switches between the XFCE desktop and sugar using the sugar control panel. This works in any joyride build, and the 8.2-760 test build. It comes pre-installed on the faster branch of the joyride build. |
|||
Assuming you have xfce installed, next get the gnome icon theme with |
|||
<code> yum install gnome-icon-theme</code> |
|||
Next, add the <code>sugar-xfce-control</code> package for a 'desktop switcher' control panel in Sugar. ([http://dev.laptop.org/~cscott/xfce/sugar-xfce-control-0.2-1.noarch.rpm rpm]) |
|||
next, add the <code>sugar-mcs-plugin</code> package to integrate the sugar control panel into XFCE's "Settings Manager". This allows you to switch back from XFCE to Sugar using the same mechanism you use to switch from Sugar to XFCE. ( [http://dev.laptop.org/~cscott/xfce/sugar-mcs-plugin-1.1.0-1.fc9.i386.rpm rpm]) |
|||
next, add <code>Inherits=gnome</code> after the <code><nowiki>[Icon Theme]</nowiki></code> line in <code>/usr/share/icons/sugar/index.theme</code>, so that sugar's theme properly pulls in the gnome filemanager icons |
|||
next, add <code><nowiki>[ -f "$HOME/.xsession-xfce" ] && . "$HOME/.xsession-xfce"</nowiki></code> before the <code>exec /usr/bin/ck-xinit-session</code> line at the end of <code>/usr/bin/olpc-session</code> in order to trigger xfce when it is selected. |
|||
The last two steps are easy to mess up. Perhaps the best way to get those changes is to use the files provided in the zip file here: http://www.filedropper.com/xfce-sugarfiles , which also includes the rpms above (Please don't use sites like this for storing files, the files don't exist now). Or you can install the faster build and copy those two files to a usb drive. While you are at it, grab <code> /home/olpc/.xsession-sfce</code>. Then install the build of your choice, Follow the yum install and RPM install steps, then copy those files from the USB to the appropriate directories. |
|||
== Trouble? == |
|||
===Defreeze Boot Animation=== |
|||
If you reboot and get stuck at the XO logo (with circle around it), hold down power to shutdown then power up again. |
|||
Warning! This is advanced and can potentially screw up your boot. To bypass the boot anim manually, hold down the checkmark while turning the OLPC on, then wait for the machine to tell you to release it. |
|||
You can prevent boot freezing by disabling the startup logo animation: |
|||
*Open the startup animation logo file <code>/etc/init.d/0-boot-anim-start</code> |
|||
*Above the line saying "# i'm the child", change |
|||
<code>if os.fork() == 0:</code> |
|||
to |
|||
<code>if os.fork() == 'debug':</code> |
|||
to prevent the animation code from being executed. Other methods than this one may cause trouble. |
|||
===XO Wipeout=== |
|||
This document is under continued construction and may contain malicious strategies. In case of major trouble be prepared to wipe out your XO with an USB-Stick. This will clearly erase all data and any changes. Read and understand instructions following [[Secure Upgrade]] first, before apply major changes to XO. |
|||
===Learn Linux=== |
|||
After all, DO NOT forget you are a half-blinded low-level noob hacking a machine designed for the rugged world with a sugared usability for small children... To do that, yes, you have to learn about Linux. |
|||
==Trouble?== |
|||
*If you reboot and get stuck at the XO logo (with circle around it), hold down power to shutdown then power up again. |
|||
**You can prevent this behavior by disabling the startup logo animation: |
|||
***Open the startup animation logo file <code>/etc/init.d/0-boot-anim-start</code> |
|||
***Above the line saying "# i'm the child", change <code>if os.fork() == 0:</code> to <code>if os.fork() == 'debug':</code> to prevent the animation code from being executed |
|||
**You can still have the startup logo animation and launch xfce: |
|||
***Login as root |
|||
***Disable <code>z-boot-anim-stop</code> |
|||
chkconfig --del z-boot-anim-stop |
|||
***Create a shell script <code>/etc/init.d/unfreeze.sh</code> with the following content |
|||
#!/bin/sh |
|||
mount -t sysfs /sys /sys |
|||
# unfreeze the display, which gets frozen at the end of the boot-anim |
|||
echo 0 > /sys/devices/platform/dcon/freeze |
|||
umount /sys |
|||
***Link <code>/etc/rc.d/rc5.d/S99unfreeze.sh</code> with <code>/etc/init.d/unfreeze.sh</code> |
|||
cd /etc/rc.d/rc5.d |
|||
ln -s ../init.d/unfreeze.sh /etc/rc.d/rc5.d/S99unfreeze.sh |
|||
***Edit <code>/etc/init.d/z-boot-anim-stop</code> to change the string "5 99 99" to "5 98 98" |
|||
***Add <code>z-boot-anim-stop</code> with the updated sequence number |
|||
chkconfig --add z-boot-anim-stop |
|||
*To make the original XO Sugar desktop the default boot again, rename the <code>.xsession</code> file to anything other than .xsession (<code>.xsession.xfce</code> for instance). |
|||
== References == |
== References == |
||
Line 213: | Line 446: | ||
* [http://litenverden.org/?p=12 Moving To Xfce On The XO] |
* [http://litenverden.org/?p=12 Moving To Xfce On The XO] |
||
* [http://litenverden.org/?p=13 Setting The XO Time And Date] |
* [http://litenverden.org/?p=13 Setting The XO Time And Date] |
||
== See also == |
|||
* [[Fedora on XO]] and [[Installing Debian as an upgrade]] to install a conventional desktop Linux distribution on the XO |
|||
*[[OpenBox]], a faster window manager with a more complicated install process on the XO. |
|||
[[Category:OS]] [[Category:Linux software]] |
Latest revision as of 02:37, 19 January 2011
Xfce is a lightweight but powerful desktop environment that will work well on the XO. The following is a tutorial for using Xfce on the XO based on the article from the Free Like GNU article and several forum posts. For a more-integrated Sugar/XFCE experience, see the XFCE and Sugar article.
Instructions
Get Root
Establish a connection to the internet. You will need the ability to connect to the internet to retrieve and update files from the OPLC's repositories. yum is the command that will retrieve the files you request and it will automatically install them. You will need to have root access to use yum.
If you can't get an internet connection first because of missing WPA encryption, follow WPA instructions first. These even work with Sugar.
Get "root": Use the Terminal Activity and type su
at the prompt and press the [enter] key. Your command prompt will now end with "#" this means you have "root" and can change any file on the computer.
$ su #
Install Packages
Install xfce, this will give you a very basic desktop environment and the ability to customize it. This will download about 40MBs to RAM, and then install the files automatically. Make sure that no other Activity is running. Otherwise during installation you will get an 'error: can't allocate memory'. To proceed, stop the Terminal Activity, reboot, restart the process. If you get a "Socket Error" that returns you to a prompt, use the up arrow to restore your original command and enter to restart the process.
# yum install xfdesktop xfce-utils xfce-mcs-plugins xfce4-session xfce4-icon-theme
Optional packages: xmms (audio player), orage (calendar), xfce-mixer (volume control), system-config-date (set date/time/timezone), genmon (generic monitor - can be used to output battery status, for example), systemload (shows CPU/Memory usage)
# yum install xmms orage xfce4-mixer system-config-date xfce4-genmon-plugin xfce4-systemload-plugin
GDM (gnome display manager)
if you want to have your own login screen (users acounts)
- IT DOES NOT WORK WITH BUILD 767 as it fails to find dep libglade or sometin i cant install it it need deps they need deps. this seems to work with build 703 (yum version 8) not with 767 (yum version 19)
in fact system-config-date dont install any more.
simply do this
# su # yum install gdm
let it install after it installs do this
# nano /etc/inittab
replace the end line on the file with this
# x:5:respawn:/usr/sbin/gdm -nodaemon
do this now on the keyboard
# CTRL-ALT-ERASE
to restart xfce
NOTE: this is how to install it and get it to start auto on the desktop you need to also install system-config-users you need and also you need to change the passwd for user root (you need to loginto the acount wifi-radar this not work with user olpc no permision) + the user root has tons of that tha you can do but in that user be carfull you do not erase the file system (i.m prety sure you cant rewright after that)
(oh the owner of this page you can delete this if you won't) THIS WORKS dont forget PASSWORDs install system-config-users like this
# su # yum install system-config-users
run as "root" (super user) change the password for users you can add or remove but remember a once you do this wifi-radar will only start to user "root". This is just telling you how to have more then one user
(if you have any questions e-mail me at everett95@gmail.com)
NEW UPDATE GDM DOES NOT WORK RIGHT IN BUILD 767 (FEDORA 9) SORRY.
Fix Problems With Install
In the recent build olpc put a block on the install of most things causing issues with installing abiword and system-config-date and issues causing "yum update" to fail with NetworkManager. I have found a way to stop these (there are two ways) here are the ways to do it
Option 1
# sudo nano /etc/yum/olpc-exclude
- you can erase it or in the file you will see a big list of programs DELETE all but the
# exclude=
- line it will look like that
Option 2
- in the repos for yum file (/etc/yum.repos.d/) check throw all of them DELETE
- if you see this line it should look like this
# include=file:///etc/yum/olpc-exclude
- I know it's in the FEDORA.repo file check
- this is how to fix the problem with most installation of firefox yum update etc. I hope this fixes the problem
(if you have any questions e-mail me at everett95@gmail.com)
I will be posting how to install a better wifi manager (no bugs) in a bit.
Fix Problems Installing Firefox
Installing Firefox requires that you remove its exclusion from the XO's repository list. Open the repository file with the following command:
# nano /etc/yum.repos.d/olpc-koji-ship2.repo
NOTE: in the latest builds (here tested on candidate-691) the command should be:
# nano /etc/yum.repos.d/olpc-koji-update1.repo
Remove the firefox
entry from the last line so it looks like this:
exclude=seamonkey,mozplugger,kdebase,kernel
then save using CTRL+X and confirm with "y" Install Firefox by running this command:
# yum install firefox
Install Firefox 3
The stable version of Firefox 3 is available only if you've updated your XO to an OS image which uses Fedora 9. Older OS images will probably want to install Firefox 2 instead. This is confirmed to work on build 767, but probably works on any OS version past Update 1.
Firefox 3 needs a newer version of nss, so download the latest nss package:
# wget ftp://ftp.univie.ac.at/systems/linux/fedora/updates/9/i386.newkey/nss-3.12.2.0-1.1.fc9.i386.rpm
Use it to upgrade the version you already have
# rpm -vU nss-3.12.2.0-1.1.fc9.i386.rpm
Install firefox
# yum install firefox
Install Opera Browser
Installing Opera browser seems better for surf performance. Download (with Firefox) from www.opera.com/download > Other Versions > Linux i386 > Distribution > Other/Static RPM. Save the rpm-file to /home/olpc. Install with
# su # rpm -vi opera (use tab to complete filename)
Run browser with Xfce menu Run Program > opera to test.
If you get the message "libqt-mt.so.3 is needed by opera", you may need to install the qt library:
# su # yum install qt # ldconfig
Install Abiword
To remove the surgarized office version and replace it with a fully functional word program, install like
$ su # rpm -e pyabiword # yum remove libabiword # yum install abiword
Abiword is now installed under the Xfce office menu.
WICD wifi manager the best
This is instructions on how to install WICD wifi manager. This method will save a lots of problems in the future.
What!? Don't tell that WIFI-RADAR isn't working for ya! Well... Your in luck!
PLEASE INSTALL WICD INSTED OF WIFI-RADAR
And how to install it:
# su or sudo for all of it # cd /usr/local/src # wget http://downloads.sourceforge.net/wicd/wicd-1.6.2.2.tar.gz # tar xf wicd-1.6.2.2.tar.gz # cd ./wicd (use tab to finesh file name) now to install just type # python setup.py configure # python setup.py install
if it says err blagh blagh just create the files/dir with mkdir and nano
If you run into any trouble with the install process feel free to e-mail for help at: everett95@gmail.com
I can't guarantee this method will work (Posted back in 2008, SORRY for my spelling and grammar, I'm in grade nine now! It's been a long time and I have kind of lost my talent for XFCE. But I will try and help... If anyone even looks at this age anymore...
Manage WiFi Networks
You can use wifi-radar to manage your wireless connection within xfce.
# yum install wifi-radar
You can run wifi-radar through the xfce menu under "Networking". After running it once, a file will be created at /etc/wifi-radar/wifi-radar.conf
. Open this file in a text editor, and change the line which reads:
interface = eth1
to read:
interface = eth0
Now, running wifi-radar should allow you to see the available wireless networks and connect to one. You may need to disable the default wireless network manager, by running:
# /etc/init.d/NetworkManager stop
You can permanently disable network manager by
# /sbin/chkconfig NetworkManager off
If you want to run wifi-radar as a daemon which will automatically connect to a preferred network:
$ wifi-radar -d
You should start the daemon with Xfce settings Auttostarted Applications using command /usr/sbin/wifi-radar -d
Manage WPA2 and WPA Keys with XFCE
You can connect to Wireless Access Points using WPA and WPA2 keys. Following solution don't require wifi-radar, thus work stand-alone for preferred WiFi-connection. This method, once applied, even works with Sugar persistently.
Add WPA Keys
Prepare your wireless network configuration. Edits can be added muliple for various connection types.
# nano /etc/wpa_supplicant/wpa_supplicant.conf
Adding following lines for WPA2 or WPA1 keys
WPA2 Connect Entry
network={ ssid="MyHome WiFi Name" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk="My Paraphrase" }
WPA1 Connect Entry
network={ ssid="MyHome WiFi Name" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="My Paraphare" }
Using WPA, options pairwise and group may vary between 'CCMP' or 'TKIP'. Get Wireless Access Point settings by running command line program 'iwlist scanning', looking for preferred wifi connection. 'CCMP' seems preferrable.
Edit sysconfig
Edit file
# nano /etc/sysconfig/wpa_supplicant
Read line INTERFACE="-iwlan0". Set to
INTERFACES="-ieth0"
Restart eth0
For some reason you must reset network device while booting.
# nano /etc/rc.local
After read "touch /var/lock/subsys/local" insert
ifdown eth0 ifup eth0
Disable NetworkManager
Disable network manager permanently by
# /sbin/chkconfig NetworkManager off
Sugar Notice: NetworkManager manages Sugars 'Neigbourhood'. Once turned off, Neigbourhood will stay empty. But you'll win a 'hidden' stable and persistent WiFi connection instead. When turned on again, NetworkManager ask for password, which fails. Turn off again and reboot to connect.
Install wpa_supplicant demon
Enable wpa_supplicant permanently by
# /sbin/chkconfig --level 2345 wpa_supplicant on
Your system must be rebooted to access the web.
Enable wpa_supplicant temporarily and test by
# wpa_supplicant -Dwext -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf & # iwconfig
Xfce startup message
While launching Xfce there is a dhcp warning 'Could not lookup <hostname>'. You could continue anyway. To get rid of this nagging message, or if you are running Wifi-Radar, you should follow the instructions given! In the warning message, there is a hostname named 'dhcppc1' or similar. Insert this given hostname in your systems hosts-list
# nano /etc/hosts
Insert line read
# 127.0.0.1 dhcppc1
Wifi-Radar setting
You need Wifi-Radar only if you move between different networks. Wifi-Radar with WPA keys IS working, roughly. First of all, Wifi-Radar only runs with root privilege! That means, on XO you cannot run WR from the XFCE menue. In XFCE, open a terminal window, get root and start
# su # wifi-radar
Now, check your preferred WPA network - the one you installed before - and click Edit. Set
Use WPA Driver: wext
Connection commands Before: ifup eth0 After: ifdown eth0
Save changes. Close program, start again in the terminal. Now try to disconnect and connect. If Wifi-Radar get hooked, just kill it in the terminal window by pressing CTRL + C twice. In the terminal window, you can see WR acting. If it is allright, end WR with the Close-Button. For some reason, after you 'touched' WR once per session with root in the terminal window, you can now start WR with XFCE menue. If you want to connect to another network listed, you must edit according profile. If you want to connect to another WPA network, you must add an entry in the wpa_supplicant.conf. (There may be some ways to use visudo to avoid root.)
Using nm-applet instead of Wifi-Radar in xfce
With the xfce desktop, one can use nm-applet to connect much more easily to a variety of wifi-hotspots. I find it to be much easier to set up than wifi-radar.
Setting up nm-applet
- Connect to some sort of wifi hotspot, any way you can. You could also use a usb key, but it is easier to explain with yum
- download nm-applet. As root, yum install NetworkManager-gnome --enablerepo=fedora
- download some gnome UI elements yum install libgnomeui download is less than 4 megs
- add nm-applet & to your .xsession file found at /home/olpc/.xsession
- undo your wifi radar, wpa supplicant, or any other hacks you did to connect to the internet. nm-applet uses the same setup as sugar default. Make sure you turn NetworkManager back on
- restart, and enjoy nm-applet!
NOTE: IF you get an error(something about d-bus) just ignore it, nm-manager should still work.
NOTE 2: With Build 656 it seems impossible to install NetworkManager-gnome because of lacking dependencies relating 'redhat-artwork'. If this is the case, find a Fedora 7 RPM (link) and install using an RPM and the --nodeps flag
NOTE 3: Update 06/30/2008 by a user. Once I installed XFCE I couldn't get internet working. Wifi-radar wouldn't get an IP from my router. I had to get NetworkManager from the link above on another computer and put it on a flash drive. After installing it, I couldn't get it to autorun. But, I figured it out from a post on Linuxlore. I had to copy /usr/share/gnome/autostart/nm-applet.desktop to /etc/xdg/autostart/. Then, I had to edit the new nm-applet.desktop file and change 'OnlyShowIn=GNOME;' to 'OnlyShowIn=GNOME;XFCE;'. Now it runs on startup.
NOTE 4: I have nm-applet working just fine on build 711. I had to manually install the rpm like above. Once installed I found that it would complain it couldn't save anything until gnome-keyring-daemon is started. So under xfce menu -> settings -> Autostarted Applications add first 'gnome-keyring-daemon' (minus the puotes of course) and second 'nm-applet --sm-disable' (--sm-disable is very important. If you don't add that option you'll end up with multiple nm-applet running). Restart and you should see nm-applet on your panel. The first time you try to connect it will ask you for a new keyring password, choose one and off you go. I still get the occasional D-BUS error after connecting, but otherwise, it connects just fine and remembers my settings/passwords.
Notes for build 767
When trying to launch nm-applet from the command line as a non-root user, it may fail with this error:
nma_dbus_init(): could not acquire its service. nma_dbus_init (): could not acquire its service. dbus_bus_acquire_service() says: 'Connection ":1.38" is not allowed to own the service "org.freedesktop.NetworkManagerInfo" due to security policies in the configuration file'
This is because the security policy has been configured to allow the root user to run nm-applet, not the olpc user. This can be worked around by running "sudo nm-applet" from a terminal, however this will not successfully autorun on startup. To allow the olpc user to run nm-applet on startup, edit the following files:
/etc/dbus-1/system.d/NetworkManager.conf
/etc/dbus-1/system.d/NetworkManagerInfo.conf
/etc/dbus-1/system.d/nm-applet.conf
/etc/dbus-1/system.d/nm-avahi-autoipd.conf
/etc/dbus-1/system.d/nm-dhcp-client.conf
In each file, copy the section of text which starts with <policy user="root"> and ends with </policy>. Paste it immediately below the </policy> line, and change the <policy user="root"> line to <policy user="olpc">.
For example:
<policy user="root"> <allow own="org.freedesktop.nm_dhcp_client"/> <allow send_interface="org.freedesktop.nm_dhcp_client"/> </policy>
Becomes:
<policy user="root"> <allow own="org.freedesktop.nm_dhcp_client"/> <allow send_interface="org.freedesktop.nm_dhcp_client"/> </policy> <policy user="olpc"> <allow own="org.freedesktop.nm_dhcp_client"/> <allow send_interface="org.freedesktop.nm_dhcp_client"/> </policy>
Then reboot.
Trouble reconnecting
nm-applet seems to suffer from the same issue of corrupted wifi password file (networks.cfg) which plagues sugar. Here's my attempt at a work around.
- On a toolbar in xfce, create a launcher (right click a toolbar, hit add) which runs the text rm /home/olpc/.sugar/default/nm/networks.cfg in the terminal (check the box when creating it) you only need to do this once!
- right click nm-applet in your systray, and click "disable wireless." right click again and click "disable networking"
- click your launcher to delete the networks.cfg file. You could also open a terminal and paste rm /home/olpc/.sugar/default/nm/networks.cfg into the terminal
- Then, right click nm-applet and restart networking, wireless
- click on nm-applet and "connect to other network" Manually type in your wireless network name and password, do not click on your wireless in the drop down if you see it. Sometimes it works, and sometime it doesn't, so inputting manually seems to work more often.
- you should be connected!
Screen Brightness/Rotation, Sound Volume, and Battery Status Control
The following method is a simple method using a script. for a more detailed version, see Xfce keybindings for detailed instructions. This script has been reported several times to not work with build 703 or later installed. (Note 1: the problem appears to be a lack of visudo in olpc-sudo. I've gotten it to work by copying a working sudoers file to /etc. This is the file. http://www.filedropper.com/sudoers . (-- link is dead. re-upload please?) I copied the sudoers file before running the script, it may make a difference.)
The keys on your XO can be easily made functional again by installing the rpm on this page: olpc-keybind. This RPM contains the scripts to perform the operations and the instructions to configure your default olpc user account to use them.
This rpm depends on xbindkeys. Because this rpm doesnt yet exist in the official repositry you have to do the following in a terminal (as root) to install it:
yum install xbindkeys rpm -Uhv http://favias.org/sites/favias.org/files/olpc-keybind-1-2.noarch.rpm
To remove this functionality the following command as root in terminal will suffice:
yum remove olpc-keybind xbindkeys
Screen brightness did not initially adjust, as root you have to:
chmod a+rw /sys/class/backlight/dcon-bl/brightness chmod a+rw /sys/class/backlight/dcon-bl/max_brightness
On error 'scriplet failed' run as root /usr/bin/olpc-keybind manually. Run xbindkeys & for testing. If xbindkeys is giving you errors you may need to open olpc-keybind and change all references .xbindkeysrc from "/home/olpc/.xbindkeyssrc" to "/root/.xbindkeysrc". If everything works, add /usr/bin/xbindkeys to Xfce Autostarted Applications via Setting Menue.
Screen rotation does not automatically resize the windows. If you are using fullscreen mode this may be fixed by pressing Alt-F11 twice.
Displaying Battery Status in panel
- Install olpc-keybind rpm for the battery-status binary it provides
- use genmon (see above) to display the battery status in a toolbar
- right-click on a blank spot on an Xfce toolbar, chose Add Item, select Generic Monitor and clicked Add
- right-click the new Generic Monitor item, select Properties, and apply the following settings:
- Command: battery-status
- Label: B
- Period: 300
Another option is to create a small script in /home/olpc called battery.sh (or whatever you would like) with the following line in it:
"echo hal-device | grep charge_level.percentage | sed 's/$/%/' /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/capacity"
save this script and make sure that the user 'olpc' owns it (chown olpc /home/olpc/battery.sh) and it is executable (chmod +x /home/olpc/battery.sh) Then...
- right-click on a blank spot on an Xfce toolbar, chose Add Item, select Generic Monitor and clicked Add
- right-click the new Generic Monitor item, select Properties, and apply the following settings:
- Command: /home/olpc/battery.sh
- Label: B
- Period: 300
Getting normal fonts for web browsing, xfce desktop
If you think your fonts look a little funny on xfce, you may appreciate more "typical" fonts for your web browser and your desktop. However, this is not entirely "free," but the package itself is distributable for free
- Download the mscorefonts rpm from this website Mscorefonts rpm
- open a terminal as root, in the folder you downloaded the rpm to, and type: rpm -i Micro Pressing tab should auto-complete the file name
- restart your computer.
Alternatively, you could install the Liberation Fonts package. These are non-proprietary, unlike the Microsoft fonts. There are three fonts included which are metrically equivalent to Arial, Times New Roman and Courier New.
The rpm is available here.
Also, you can change your default user interface fonts in the Xfce "User interface settings" and changing the font to a size you recognize. You may set Font DPI to 150. It's also good to turn on anti-aliasing (slight).
Mounting Removable Filesystems
- Insert SD card or usb drive.
- Run thunar, the Xfce File Manager.
- The removable media should appear in the left-hand column. Click on it to mount it. A df will show that it has been mounted in the appropriate place (/mount/VOLUME_NAME)
- To unmount, right click on the media name in the same place and choose unmount.
Change default desktop
[=== Turn Xfce to default desktop ===
In /home/olpc/
create a copy of .xsession-example
called .xsession
:
#cp /home/olpc/.xsession-example /home/olpc/.xsession
Edit the .xsession
file to launch Xfce on startup:
# nano /home/olpc/.xsession
Find the commented line that reads #exec xterm
- below that line, add the following code:
exec startxfce4
- use CTRL+X to save and exit
- use CTRL+ALT+BACKSPACE to restart X, starting Xfce
]{| class="wikitable" |-
! header 1 ! header 2 ! header 3 |- | row 1, cell 1 | row 1, cell 2 | row 1, cell 3 |- | row 2, cell 1 | row 2, cell 2 | row 2, cell 3
|}
Turn back to XO Sugar desktop
To make the original XO Sugar desktop the default boot again, rename the .xsession
file to anything other than .xsession (.xsession.xfce
for instance). Applied changes, e.g. networking, may stay persistent.
Install Sugar/XFCE Control Panel
c-scott has created a script that switches between the XFCE desktop and sugar using the sugar control panel. This works in any joyride build, and the 8.2-760 test build. It comes pre-installed on the faster branch of the joyride build.
Assuming you have xfce installed, next get the gnome icon theme with
yum install gnome-icon-theme
Next, add the sugar-xfce-control
package for a 'desktop switcher' control panel in Sugar. (rpm)
next, add the sugar-mcs-plugin
package to integrate the sugar control panel into XFCE's "Settings Manager". This allows you to switch back from XFCE to Sugar using the same mechanism you use to switch from Sugar to XFCE. ( rpm)
next, add Inherits=gnome
after the [Icon Theme]
line in /usr/share/icons/sugar/index.theme
, so that sugar's theme properly pulls in the gnome filemanager icons
next, add [ -f "$HOME/.xsession-xfce" ] && . "$HOME/.xsession-xfce"
before the exec /usr/bin/ck-xinit-session
line at the end of /usr/bin/olpc-session
in order to trigger xfce when it is selected.
The last two steps are easy to mess up. Perhaps the best way to get those changes is to use the files provided in the zip file here: http://www.filedropper.com/xfce-sugarfiles , which also includes the rpms above (Please don't use sites like this for storing files, the files don't exist now). Or you can install the faster build and copy those two files to a usb drive. While you are at it, grab /home/olpc/.xsession-sfce
. Then install the build of your choice, Follow the yum install and RPM install steps, then copy those files from the USB to the appropriate directories.
Trouble?
Defreeze Boot Animation
If you reboot and get stuck at the XO logo (with circle around it), hold down power to shutdown then power up again.
Warning! This is advanced and can potentially screw up your boot. To bypass the boot anim manually, hold down the checkmark while turning the OLPC on, then wait for the machine to tell you to release it.
You can prevent boot freezing by disabling the startup logo animation:
- Open the startup animation logo file
/etc/init.d/0-boot-anim-start
- Above the line saying "# i'm the child", change
if os.fork() == 0:
to
if os.fork() == 'debug':
to prevent the animation code from being executed. Other methods than this one may cause trouble.
XO Wipeout
This document is under continued construction and may contain malicious strategies. In case of major trouble be prepared to wipe out your XO with an USB-Stick. This will clearly erase all data and any changes. Read and understand instructions following Secure Upgrade first, before apply major changes to XO.
Learn Linux
After all, DO NOT forget you are a half-blinded low-level noob hacking a machine designed for the rugged world with a sugared usability for small children... To do that, yes, you have to learn about Linux.
References
See also
- Fedora on XO and Installing Debian as an upgrade to install a conventional desktop Linux distribution on the XO
- OpenBox, a faster window manager with a more complicated install process on the XO.