Ubuntu Desktop

From Blue-IT.org Wiki

Revision as of 08:08, 12 January 2012 by WikiSysOp (talk | contribs) (Compositing and flash)

Ubuntu Logo

Where is it running on?

Ubuntu runs on all of my desktop and notebook computers.

  • AMD Athlon X2 6400, Nvidia Graphics (development system)
  • AMD Athlon XP 2500+, Nvidia Grapics (Mythbuntu system wit TV card)
  • IBM Thinkpad R31 notebook (Ubuntu 9.04 only)
  • IBM Thinkpad T61 notebook

Ubuntu 11.10 - Oneiric Ocelot (64bit)

Ubuntu Oneiric

Oneiric is the second release with the unity desktop. Unity is very slick. Due to the fact, that i have a notebook which a slower nvidia card, unity2d is usable. But the performance is really bad!

Basic changes

Due to these massiv performance issues with compiz and unity I am using the following desktop environment:

Ubuntu Oneiric Desktop

This multi monitor layout is based on:

  • xfce4 (without panel), no compositor
  • avant windows navigator (panel)
  • gnome-do (gives me the basic functionality of unity)
  • nautilus for file management and desktop (start nautilus with "nautilus --no-default-window", so it covers the desktop)

Artwork:

  • evolve theme and faenza icon theme (cupertino)
  • Background pictures from national geographic

Other:

  • adobe flash ppa is not necessary any more, flash is 64bit native now

Together with NOT using compiz this gives me an stottering-free and working fullscreen-flash mode.

xfce4 and avant-window-navigator

Install xfce4:

sudo apt-get install xfce4-desktop gnome-tweak-tool avant-window-navigator awn-applets-common awn-settings

Remove the xfce-panel from session-start and use avant!

Compositing and flash

From time to time I like compositing effects.

Unlike in unity (is not really true, in unity 2d you can disable the metacity compositor too), you can toggle compositing in xfce via setting the value in the xml-configuration settings:

A more sophisticated script will also work for metacity.

vim toggle-composite

#!/bin/bash
COMPOSITING="false"
WM="metacity xfwm4"
MY_WM=""

PID_FLASHMON="$(ps x | grep monitor_flash_for_composite | grep -v grep | awk '{print $1}')"
[ "$PID_FLASHMON" = "" ] || kill -9 $PID_FLASHMON

WM_RUNNING=0
for my_wm in $WM
do
    if ps x | grep $my_wm | grep -v grep > /dev/null
    then
	WM_RUNNING=1
    	MY_WM="$my_wm"
    fi
done

if [ "${MY_WM}" = "metacity" ]
then
	COMPGMETA="$(gconftool --get /apps/metacity/general/compositing_manager)"
	[ "$COMPGMETA" = "true" ] && COMPOSITING="true"
fi

if [ "${MY_WM}" = "xfwm4" ]
then
	COMPXML="$(xfconf-query -c xfwm4 -p /general/use_compositing)"
	[ "$COMPXML" = "true" ] && COMPOSITING="true"
fi


notify_enabled() {

	notify-send  "Compositing enabled" -i /local/share/icons/streamtuner.png "Compositing is enabled by toggle command. Flashmonitor killed."
}

notify_disabled() {
	notify-send  "Compositing disabled" -i /local/share/icons/process-stop.png "Compositing is stopped by toggle command. Flashmonitor reenabled."
}

restart_unity() {

	metacity --replace &
        #killall_ unity-2d-launcher && unity-2d-launcher &
        killall unity-2d-launcher
	#killall_ unity-2d-panel && unity-2d-panel &
	killall_ unity-2d-panel
	sleep 5
	unity-2d-panel &
	unity-2d-launcher &
}

set_compositing() {

        # XFCE4
        xfconf-query -c xfwm4 -p /general/use_compositing -s $1

        # Metacity
        gconftool --type boolean --set /apps/metacity/general/compositing_manager $1
        gconftool --type boolean --set /apps/metacity/general/compositor_effects $1
	
	[ "$MY_WM" = "metacity" ] && restart_unity

	sleep 2
	
	if [ "$1" = "true" ]
	then
		notify_enabled
	else
		notify_disabled
	fi

}

if [ "$COMPOSITING" = "true" ]
then
	set_compositing false
	
	# Restart flashmon
	PID_FLASHMON="$(ps x | grep monitor_flash_for_composite | grep -v grep | awk '{print $1}')"
	[ "$PID_FLASHMON" = "" ] && monitor_flash_for_composite &

else
	set_compositing true

	#Avant
	gconftool-2 --type bool --set /apps/instances/avant-window-navigator/panel-1/panel/expand true
	gconftool-2 --type bool --set /apps/instances/avant-window-navigator/panel-1/panel/expand false


fi


vim monitor_flash_for_composite
#!/bin/bash
WM="metacity xfwm4"
MY_WM=""

# singleton
if ps x | grep -v grep | grep -v $$ | grep $0
then
        echo "$0 already running. Exiting"
        exit 1
else

restart_unity() {

        metacity --replace &
        #killall_ unity-2d-launcher && unity-2d-launcher &
        killall_ unity-2d-launcher
        #killall_ unity-2d-panel && unity-2d-panel &
        killall_ unity-2d-panel
	sleep 5
	unity-2d-panel &
	unity-2d-launcher &
	
}

set_compositing() {

        # XFCE4
        xfconf-query -c xfwm4 -p /general/use_compositing -s $1

        # Metacity
        gconftool --type boolean --set /apps/metacity/general/compositing_manager $1
        gconftool --type boolean --set /apps/metacity/general/compositor_effects $1
	[ "$MY_WM" = "metacity" ] && restart_unity
}

notify_enabled() {
        notify-send  "Compositing enabled" -i /local/share/icons/streamtuner.png "Compositing is enabled by toggle command."
}

notify_disabled() {
        notify-send  "Compositing disabled" -i /local/share/icons/process-stop.png "Compositing is stopped by toggle command."
}



while (true)
do
COMP_NEW=""

WM_RUNNING=0
for my_wm in $WM
do
  if ps x | grep $my_wm | grep -v grep > /dev/null
  then
	  WM_RUNNING=1
	  MY_WM="$my_wm"
  fi
done

if [ $WM_RUNNING -eq 1 ] 
then
	COMP_OLD="$(xfconf-query -c xfwm4 -p /general/use_compositing)"
	COMP_NEW="$(xfconf-query -c xfwm4 -p /general/use_compositing)"

	# check for flash
	if ps x | grep libflashplayer.so | grep -v grep > /dev/null
	then
		COMP_NEW="false"

		if [ "$COMP_OLD" = "$COMP_NEW" ]
		then
                        # do nothing
                        echo -n ""
		else
			set_compositing $COMP_NEW
		        notify_disabled		
		fi
	else
		COMP_NEW="true"

		if [ "$COMP_OLD" = "$COMP_NEW" ]
		then
			# do nothing
			echo -n ""
		else
			set_compositing $COMP_NEW
			notify_enabled

			# Avant
			gconftool-2 --type bool --set /apps/instances/avant-window-navigator/panel-1/panel/expand true
			gconftool-2 --type bool --set /apps/instances/avant-window-navigator/panel-1/panel/expand false

		fi

	fi
fi

sleep 10

done

fi


You can run this little daemon on startup. It will automatically toggle compositing, when you will watching flash ;)

evolve theme

Install the evolve theme according to [1].

sudo add-apt-repository ppa:satyajit-happy/themes
sudo apt-get update
sudo apt-get install sudo apt-get install evolve-gtk-theme

Install the Faenza icon theme according to [2]

sudo add-apt-repository ppa:tiheum/equinox
sudo apt-get update
sudo apt-get install faenza-icon-theme

Now start the gnome-tweak-tool and choose the evolve theme and faenza icon theme.

avant windows navigator and multimonitor

Using with two displays, you can set the position of the panel with the following script:

vim set_avant_xoffset.sh
#!/bin/bash

XOFFSET=""
XOFFSET="${1}"
[ "${XOFFSET}" ] || XOFFSET="0"

#gconftool-2 --type int --set /apps/avant-window-navigator/panel/monitor_x_offset ${XOFFSET} 
gconftool-2 --type int --set /apps/instances/avant-window-navigator/panel-1/panel/monitor_x_offset ${XOFFSET}

if [ "${XOFFSET}" -eq 0 ]
then
	#gconftool-2 --type int --set /apps/avant-window-navigator/panel/monitor_num -1
	#gconftool-2 --type bool --set /apps/avant-window-navigator/panel/monitor_force false
	gconftool-2 --type bool --set /apps/instances/avant-window-navigator/panel-1/panel/monitor_force false
else
	#gconftool-2 --type int --set /apps/avant-window-navigator/panel/monitor_num -1
	#gconftool-2 --type bool --set /apps/avant-window-navigator/panel/monitor_force true
	gconftool-2 --type bool --set /apps/instances/avant-window-navigator/panel-1/panel/monitor_force true
fi
chmod 755 set_avant_xoffset.sh

XOFFSET will position the panel form the left (!) side of your twinview desktop, so

set_avant_xoffset.sh 0

will be used for a single screen, or at the most left display.

set_avant_xoffset.sh 1280

for having avant on the right screen, when the left one is 1280 pixels wide.

The settings apply immediately.

Ubuntu 10.10 - Maverick Meerkat

Meerkats ubuntu 500x300.jpg

Image: Meerkats Hangin´ out,
a Creative Commons Attribution Share-Alike (2.0)
image from mmleones's photostream


The update to Ubuntu 10.10 / Maverick went flawlessly today ;) I just had to reenable the ppa sources again ...

I am recording the changes here.

--Apos 16:51, 10 October 2010 (CEST)

Additional Software

Software from Ubuntu Tweak

UbuntuTweakLogo.png Ubuntu Tweak:

There are no differences between 10.04 execept these:

Sources:

  • SMPlayer update is not necessary / available anymore via ppa

Programs:

  • Skype and VLC changed
  • Webupd8 repository now cares for VLC

Software from Launchpad

No changes ;)

Ubuntu 10.04

Iberischer Lux.jpg

Ubuntu is going to spend 50 percent of the incomes from ubuntu music store to the campaign SOSlynx

I am using the standard gnome desktop with compiz manager (stable)

Additional software

Ubuntu is very flexible when installing new software.

Software from Ubuntu Tweak

UbuntuTweakLogo.png Ubuntu Tweak:

Sources:

  • Adobe Flash PPA
  • Medibuntu
  • PPA for AWN Windows Manager testing, see Issues
  • PPA for Ubuntu Wine Team
  • SMPlayer (not necessary for Ubuntu 10.10)
  • Virtual Box official source
  • P7zip-full

Programs:

  • Ubuntu restricted extras
  • Flashplugin64-installer
  • Google Chrome Unstable ( version 7.x)
  • Skype (not necessary for Ubuntu 10.10)
  • VLC (not necessary for Ubuntu 10.10)
  • Wine

Software from Launchpad

launchpad

Other Software

Other Issues

Google Chrome does not open with default PDF application

1. Disable the chrome pdf plugin Write about:plugins in the Chrome address field. Disable the PDF plugin.

2. Restart the browser

3. Klick on a pdf-link at a web page Chrome now downloads the pdf file. On the buttom of the page (left side) then you can see the downloaded file. klick on the little arrow beside the filename and select "always open files ..."

Now Chrome will open the pdf with your default ubuntu pdf browser (which you have to configure in Nautilus -> right mouse key -> open with).

Chrome pdf.jpeg

AWN and run apps dialog

There is a problem with using AWN and the run apps dialog (Alt+F2).

It simply doesn't work any more, when you disable gnome-panel which you have to, if you like to run an awn only desktop. Gnome-panel can simply hindert from beeing started with the following shell command:

sudo chmod -x /usr/bin/gnome-panel
sudo killall gnome-panel

A good replacement for the build-in gnome-panel run-dialog is Gmrun:

sudo apt-get install gmrun

Then do the following steps:

  1. disable the run dialog in: Settings -> Compiz Configuration settings -> Gnome comaptibility
  2. disable the Alt+F2 key combination
  3. add a new key combination for gmrun and assign Alt+F2

And the best: now the launch entry in the awn main menu is working too.

Faster internet browsing

This only should be applied, if you really have a very slow internet connection and you are surfing most of the time at the same places. A proxy only makes sense, when he has enough data saved on your pc. Most browsers do an excellent job caching web content, so a proxy might only be necessary in very rare cases ;)

1. Disable IpV6:

> vim /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Reboot.

2. Install a Webproxy:

> sudo apt-get install squid

Squid runs on port 3128. I recommend to take the following entries in the configuration file (according to [3]).

> vim /etc/squid/squid.conf

http_port 3128
#http_port 10.0.0.1:3128
#http_port 10.0.0.1:8080

# icp_port 3130
icp_port 0
 
#  TAG: no_cache
…
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

#Default:
# forwarded_for on
forwarded_for off

#Allow ICP queries from local networks only
icp_access allow localnet
icp_access deny all

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16        # RFC1918 possible internal network

sudo /etc/init.d/squid restart

Flash buttons don't respond

According to [4] edit a line export GDK_NATIVE_WINDOWS=1 in the following file:

> gksudo gedit /usr/lib/nspluginwrapper/i386/linux/npviewer

[...]
export GDK_NATIVE_WINDOWS=1
. /usr/lib/nspluginwrapper/noarch/npviewer

Restart the browser.

Nvidia and Plymouth bootscreen

Ubuntu-10-10-400 bootscreen.jpg

Accdording to [5] and [6] I was able to use plymouth in ubuntu 10.10 (10.04 not tested, but should work too).

Here's what I did for my Thinkpad T61 with an Nvidia NVS 140M graphics card and a WSXGA+ widescreen display with 1680 x 1050 pixels:

> sudo apt-get install v86d hwinfo
> sudo hwinfo --framebuffer | grep 1680 | grep 24
  Mode 0x0369: 1680x1050 (+6720), 24 bits
> sudo cp /etc/default/grub /etc/default/grub.orig
> gksudo gedit /etc/default/grub
  
  [...]
  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1680x1050-24,mtrr=3,scroll=ywrap"
  [...]
  GRUB_GFXMODE=1680x1050
  [...]
> sudo cp /etc/initramfs-tools/modules /etc/initramfs-tools/modules.orig
> gksudo gedit /etc/initramfs-tools/modules
 
  [...]
  uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap
> sudo update-grub
> sudo update-initramfs -u

Reboot and enjoy!