openSUSE is my favorite Linux distribution. Linux in general has some usability frustrations as a desktop user, so I hope to share some of the ways they can be dealt with. If you have questions of your own leave a comment.
Fix horrible bug that breaks buttons
GDK has a horrible debilitating bug that was not caught before release and at the time of writing the fix has not been backported as an online update. This makes buttons in both Flash and Eclipse unresponsive to clicking. You need to “export GDK_NATIVE_WINDOWS=true” in order for things to work correctly. I added this in my ~/.bashrc file:
# .bashrc # User specific aliases and functions alias untargz="tar zxvf" export GDK_NATIVE_WINDOWS=true export PATH=/usr/local/eclipse/eclipse-3.5:$PATH # Source global definitions if [ -f /etc/bashrc ]; then ********. /etc/bashrc fi
1-click installers – Setup graphics card, multimedia, and fonts
An easy way to install most of the software you need is to use a 1-click installer. If you have an NVIDIA or ATI graphics card, then you’ll want to install the drivers using one of these installers. I also recommend installing “Codecs pack for KDE”, “VLC Media Player”, and “Fonts with subpixel hinting enabled”.
This is a perennial setup step on Linux distributions. We’ll install the codecs needed to watch videos on Linux.
- YaST > “Software” > “Software Repositories”
- Click “Add”
- Select “Community Repositories”
- Select “Packman Repository” if it is not already
- YaST > “Software” > “Software Management”
- Install libxine1-codecs.
Setup time synchronization
NTP (Network Time Protocol) can be used to synch your system’s clock to a server on the internet.
- YaST > “System” > “Date and Time”
- Click “Change…”
- Select “Synchronize with NTP Server”
- Add the server for your region from pool.ntp.org (e.g. I used 0.us.pool.ntp.org since I’m in the United States)
- Check the “Save NTP Configuration”
- If you hit “Configure…” you can also add backup servers (e.g. 1.us.pool.ntp.org , 2.us.pool.ntp.org , etc.)
Setup a static IP address
This step is optional and is meant for people that know what a static IP is and want to set one up. Having a static IP address is very nice when you want to remote desktop to your server or access it in some other way without worrying about what the IP address is. There may also need to be some configuration done on your router for this one. Or you may prefer to investigate DHCP reservations if your router supports them.
- YaST > “Network Devices” > “Network Settings”
- Under Hostname/DNS, you may change your hostname and Domain Name if you prefer
- Under Global Options, switch to “Traditional Method with ifup”
- Under “Overview”, select your network card and click “Edit”
- Enter your static IP (besure to also enter DNS and gateway information)
- Hit save
Setup a network file share (NFS) using Samba
Another optional step, Samba allows you to share files on your computer with others on the network.
- YaST > “Software” > “Software Management”
- Install “samba”
- YaST > “Network Services” > “Samba Server”
- Choose “Not a domain controller”, start during boot, and tell it to unblock the firewall
- Change sharing settings as you’d like and hit “Finish”
- Add a user to Samba by running “smbpasswd -a username” where username is the user you’d like to create.
- Connect from your Windows machine by right clicking “My Computer” and browsing your network. If you have trouble connecting you might also try opening a “Run…” dialog off the start menu and typing in your IP address with two leading slashes e.g. “\\192.168.10.2”
Setup remote desktop through NX
The two main remote desktop softwares for Linux are VLC and NX. NX is much faster and is what I would recommend. Unfortunately, I have not been able to get desktop sharing to fully work. If you get desktop shadowing to work properly then please let me know. In addition to installing NX, we’ll also open the corresponding port in the firewall so that we can connect from another machine.
- Download the NX Linux packages
- Run “rpm -iv nxclient-3.4.0-5.x86_64.rpm”, “rpm -iv nxnode-3.4.0-5.x86_64.rpm”, and “rpm -iv nxserver-3.4.0-5.x86_64.rpm”
- Run “/usr/NX/scripts/setup/nxserver –install”
- Run “/usr/NX/bin/nxserver –keygen”
- In your NX client, open “Configure…” > “General” tab > “Key …”
- Copy the contents of “/usr/NX/share/keys/default.id_dsa.key” into the key window and save it
- Open “/usr/NX/etc/server.cfg”
- Uncomment ‘EnableSessionShadowingAuthorization = “1” and change the value to “0” which will enable you to select “Shadow” in the client under the General > Desktop if you’d like to do desktop sharing.
- YaST > “Security and Users” > “Firewall” > “Allowed Services”
- Allow “Secure Shell Server”
Upgrade to the ext4 file system
ext4 is the new default file system on openSUSE 11.2. If you did a clean install, you will be running ext4 by default. However, if you have a drive you did not reformat when installing the OS then you may be running ext3. For example, I have two drives: 1 60 gig drive I use as my root partition and a 500 gig drive I use as my home directory. When I installed openSUSE 11.2, I wiped the root partition and reformatted it as ext4, but I wanted to keep the data on my home directory, so I couldn’t reformat it and left it as ext3.
- Run “df -T” to see your file system types. For me it showed /dev/sdb1 as ext4 mounted on /home
- Run init 1 to switch runlevels
- Unmount the drive: e.g. “umount /home”
- Run e2fsck on the drive : e.g. e2fsck /dev/sdb1
- Run tune2fs: e.g. tune2fs -O extents,uninit_bg /dev/sdb1
- Edit /etc/fstab to change ext3 to ext4 on the drive
- Run “mount -a” to remount the drive
Review: The Problem with Linux is Usability and Resource Allocation
openSUSE is as good a Linux desktop as you’ll find. Unfortunately that’s not saying as much as I’d like. There are so many broken things on the system and yet so much effort was put into developing things that average person doesn’t give a rat’s ass about. There’s a whole load of crap that comes with the system that’s a waste. It’s incredibly frustrating to me to see so many resources go into this software that few people care about. I don’t need Marble when the far superior Google Earth is available on Linux. I don’t need Kaffeine when VLC is a better alternative. Most of the games are a waste and can’t hold a candle to the hundreds of Flash games available online. I’ve never used digiKam, but have to assume that at best it’s Picasa‘s ugly stepsister. There are dozens of programs I’d rather use than KDE PIM: GMail, Thunderbird, LinkedIn, etc. The list goes on, and on, and on. Why are we building this stuff? The single biggest improvement in openSUSE 11.2 is that Firefox is now the default browser. This took way too long, but is a welcomed change. I wish VLC would replace Kaffeine. Someone at Novell, Canonical, et. al. needs to do some user testing. Any 12-year-old kid would tell you you’re crazy if you think people would rather use Marble than Google Earth. Linux distros have done an absolutely horrifyingly awful job of picking the best software to be the default. Instead of wasting all this time, how about we come together and decide to make an operating system that just works? There are so many usability frustrations that I’d like to see solved instead. Novell, Canonical, and the other leaders in this area need to step up.
As mentioned, there are a lot of usability problems. For example, Flash was unusable in full screen mode after install. It turned out this was because I hadn’t yet installed my NVIDIA driver. But this is a big problem. How would any casual user know they had to do this? My parents, brother, or sister would not have known to do this despite being reasonably computer savvy. I knew because I’ve used Linux for many years, but if it requires a computer science degree to watch a YouTube video then you’ve failed. And when I did realize I needed to install the driver, I needed to know which of three drivers I wanted. Are you serious? I could just imagine asking my mom what graphics card she has. That would be a fun conversation. It’s 2009. And you don’t have the ability to detect my hardware? I understand that there are licensing issues, but once I’ve said I want to install a graphics driver you should be able to tell me which one I need. I want to get rid of the “Recently Used” option on the Kicker menu like I can with classic, but there’s no option to. I don’t understand why YaST has a “Media Check” option. Can’t you tell there’s no CD/DVD in my drive? I tried to edit my network settings with YaST and it told me to use NetworkManager or change the setup method to Traditional with ifup. How do I do either of those things? I don’t know what NetworkManager is or how to open it. There’s nothing in any of the menus called NetworkManager. When I started Firefox it asked me if I wanted to use Flash, gnash, or swfdec. But I tried gnash and swfdec and neither could play a Hulu video, so are you insane? Of course I don’t want to use either of those. Why are you confusing me? Flash on Linux is a big problem. The controls on the Hulu just stop working with frustrating frequency. I can’t figure out why Amarok and Kaffeine are both broken. I could go on, but you get my point. Let’s fix these problems instead of building more crap no one asked for. I know how much of this work has been done by volunteers and am extremely grateful for it. I’ve contributed to several open source projects myself and know what it’s like, so I hope those reading know I am thankful to have this amazing free software. I’m happy for what’s been done and am hoping the leaders of KDE and openSUSE will make some hard choices about what’s worth investing in and supporting, so that these projects can become successful in the mainstream world because as it stands now, even as great as it is, Linux simply isn’t ready.