10 November 2011

18. Gnome 3/Gnome-shell -- first impressions. Rant.

Debian testing has now transitioned to gnome-shell/gnome3. It's...different...from gnome 2.32, so be warned. While I'm as frustrated as anyone else who feels that they are being forced to move to a new desktop metaphor for no good reason, I'm trying to keep an open mind. The lack of a bottom panel is pissing me off and disorienting me enormously though. I also would like all my panel applets back - I used to have a good overview over how my computer hardware was doing, and now I have no clue anymore.

<RANT>
Essentially, at this point it seems like gnome-shell is fine for people who do their work in a specific application - like a browser, word processor etc. It absolutely blows if you're using your COMPUTER. I edit code in gedit, render figures in the terminal, inspect them using evince, include them in documents using LaTeX etc. Suddenly I feel I have no overview what's going on. The lack of a bottom panel showing me which applications are open on a specific virtual desktop is very confusing. Using alt+tab to check before I switch is a great time-waster.

For those who haven't used gnome-shell -- yes, you can still have windows side-by-side. You just can't see if you're hiding a window behind another one.

Seriously. I don't see why I can't customise my desktop anymore. Gnome has always (I do realise that this isn't entirely true - functionality is being removed and re-added all the time in most desktop environments) been a bit more restrictive than KDE in terms of granular control and I do understand that this is on purpose -- it's a design philosophy. I guess I just violently disagree with it.

Finally, even though I can't put my finger on WHY, I feel that I suddenly have a tiny screen. It's 23 inches. It's huge. It's made for having lots of windows open side-by-side.

I admit that I'm as resistant to change as anyone, but since I use my computer as part of my work, I need a damned good reason for changing. Few people can afford a few weeks downtime in productivity while learning the ropes if they feel that the change isn't justified.

I'll stick with gnome for a while longer. You can't bitch if you don't give it a chance. But I'll spend those weeks looking closer at the alternatives - XFCE, LXDE, KDE etc.

The point here -- and which was seen with the defections to OSX caused by Windows Vista -- is that if people are forced to learn a new way of working, they might as well explore ALL the options.

Prediction: I'll either stay with gnome-shell (which will hopefully improve as functionality and control is returned), or move to xmonad (another extreme)

I obviously appreciate the fact that I'm using a free and open source collection of software - in theory no-one is forcing me to keep on using GNOME. Nor was I forced to upgrade. In reality, it's not so easy.

Given that gnome 3/gnome-shell is more than just an iterative update, I think it would've have made sense to allow for the installation of gnome 2.32 and gnome3 side-by-side. After all, there's nothing preventing you from running KDE, gnome, xfce and lxde side-by-side. Sure, uptake would be slower - but 'forcing' people to move from one version to another isn't really a good idea either. The way it is now you have no easy way of reverting back to 'normal' if you accidentally, or misguidedly, upgrade to gnome3.

Oh well, ranting is easy. A better use of my time would probably have been to learn how to write gnome-shell-extensions to provide the functionality which I feel is missing.
</RANT>

<How to deal with it>
So, there are a few things which can be done to make the transitions a bit easier to handle -  do an online search for gnome-shell-extensions and download the ones which you think will help. For me, I've got the following installed and active:
Bottom Panel
windowNavigator
Gajim IM integration
Alternative Status Menu
Shut Down Menu
User Themes
Break Dynamic Workspaces
Panel Favorites
Weather
Applications Menu
Move Clock
Auto Move Windows

Make sure that you get the right version of the extension for your version of gnome-shell (gnome-shell --version; currently it's on 3.0.2) since extensions for 3.2 won't necessarily work with 3.0.2 (e.g. the bottom panel extension).

You will also want to install the gnome-tweak-tool and explore what it does. At least you can choose your preferred icon theme, set nautilus to handle the desktop space, bring back maximize/minimize buttons etc.

You may also want to add keyboard shortcuts to the most commonly used application since it's a PITA having to go back to the Activities every time you open e.g. a terminal, nautilus or gedit  instance. I've mapped terminal to ctral+shift+up, google chrome to ctrl+shift+down, nautilus to ctrl+shift+left and gedit to ctrl+shift+right.


If you find that you can't run gnome-shell but only use the fallback mode, check that you haven't got 'compiz --replace' in your start-up programs (gnome-session-properties)

24 August 2011

17. Linphone with iinet iitalk voip service on Debian Testing 64 (Wheezy)

We've got the Naked DSL from iinet, and included with it is a 'free' voip service, iitalk. Since we haven't got either a modem supporting voip, or an ATA adapter + regular terrestrial phone, we're aiming for the next best - using a software voip solution on our desktop. Linphone is FOSS and available in the debian repos.

You will have received an email from iinet with the following details:
Your Netphone number:         0xxxxxxx
Your Netphone password:     yyyyyyy
Your Netphone PIN:                 zzzz
VoIP SIP domain:            iinetphone.iinet.net.au
VoIP SIP server:              sip.state.iinet.net.au

where state is act, nsw, vic, wa etc. giving something along the lines of sip.act.iinet.net.au


first
sudo apt-get install linphone

You'll find the GUI version on your gnome menu under 'internet'. Start it.
Go to Linphone/Settings
Click on the manage SIP accounts tab.
There are three main sections on this tab: default identity, Proxy accounts and Privacy
Don't bother with the Default identity or Privacy; instead click on Add under Proxy accounts


Your SIP identity: sip: 0xxxxxxx@sip.state.iinet.net.au
SIP proxy addres: sip: sip.state.iinet.net.au
Route (optional): sip:
Registration duration (sec): 3600
Register at startup: yes

You can also set up the account directly in your ~/.linphonerc :

[proxy_0]
reg_proxy=sip:sip.state.iinet.net.au
reg_route=sip:
reg_identity=sip:0xxxxxxx@sip.state.iinet.net.au
reg_expires=3600
reg_sendregister=1
publish=0
dial_escape_plus=0

[auth_info_0]
username=0xxxx
userid=0xxxxxx
passwd=yyyyyyyyyyy
realm="iinetphone.iinet.net.au"


The number after proxy_ and auth_info_ depends on whether you have other accounts defined as well. Note that the .linphonerc file will contain a fair number of other things. Here's my full .linphonerc (with some information replaced by x's)


[sound]
playback_dev_id=ALSA: default device
ringer_dev_id=ALSA: default device
capture_dev_id=ALSA: default device
remote_ring=/usr/share/sounds/linphone/ringback.wav

[video]
device=V4L2: /dev/video0
size=cif
enabled=0
display=0
capture=0
show_local=0
self_view=1

[GtkUi]
advanced_ui=1
uri0=0xxxxxxxx

[net]
download_bw=0
upload_bw=0
firewall_policy=0
mtu=0

[sip]
sip_port=5060
guess_hostname=1
contact=<sip:xxx@192.168.1.2>
inc_timeout=15
use_info=0
use_rfc2833=0
use_ipv6=0
register_only_when_network_is_up=1
default_proxy=0

[auth_info_0]
username=0xxxxxxx
userid=0xxxxxxxx
passwd=yyyyyyy
realm="iinetphone.iinet.net.au"

[rtp]
audio_rtp_port=7078
video_rtp_port=9078
audio_jitt_comp=60
video_jitt_comp=0
nortp_timeout=30

[audio_codec_0]
mime=speex
rate=32000
enabled=1

[audio_codec_1]
mime=speex
rate=16000
enabled=1

[audio_codec_2]
mime=speex
rate=8000
enabled=1

[audio_codec_3]
mime=GSM
rate=8000
enabled=1

[audio_codec_4]
mime=PCMU
rate=8000
enabled=1

[audio_codec_5]
mime=PCMA
rate=8000
enabled=1

[video_codec_0]
mime=MP4V-ES
rate=90000
enabled=1
recv_fmtp=profile-level-id=3

[video_codec_1]
mime=theora
rate=90000
enabled=1

[video_codec_2]
mime=H263-1998
rate=90000
enabled=1
recv_fmtp=CIF=1;QCIF=1

[video_codec_3]
mime=H263
rate=90000
enabled=1

[video_codec_4]
mime=x-snow
rate=90000
enabled=1

[proxy_0]
reg_proxy=sip:sip.state.iinet.net.au
reg_route=sip:
reg_identity=sip:0xxxxxxxxx@sip.state.iinet.net.au
reg_expires=3600
reg_sendregister=1
publish=0
dial_escape_plus=0





11 August 2011

16. Using onboard video card with acceleration on Optiplex 990 on Debian

NOTE: another issue debian users should be aware of is the failure to reboot on sudo shutdown -r now. The fix is easy though: change GRUB_CMDLINE_LINUX in /etc/default/grub to read GRUB_CMDLINE_LINUX="reboot=pci"

--Start Here ---
The videocard (nvidia quadro something or other) my work Optiplex 990 came with only has a 'displayport', and the supplied adapter for it only has DVI-D (no analogue signal, so a VGA converter won't work). Since my 24" monitor doesn't have DVI, and I hate HDMI, and at the same time appreciate graphics acceleration (can't live without my wobbly windows in compiz), I had to generate an /etc/X11/xorg.conf which would allow me to use the motherboard graphics capabilities. Here's that xorg.conf (ripped out the video card, used smxi to generate an xorg-driver dependent xorg.conf):


Section "ServerLayout"
Identifier     "X.org Configured"
Screen      0  "Screen0" 0 0
Screen      1  "Screen1" RightOf "Screen0"
Screen      2  "Screen2" RightOf "Screen1"
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath     "/usr/share/fonts/X11/misc"
FontPath     "/usr/share/fonts/X11/cyrillic"
FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/Type1"
FontPath     "/usr/share/fonts/X11/100dpi"
FontPath     "/usr/share/fonts/X11/75dpi"
FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath     "built-ins"
EndSection

Section "Module"
Load  "dbe"
Load  "record"
Load "dri"
Load  "dri2"
Load "glx"
Load  "extmod"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option    "Protocol" "auto"
Option    "Device" "/dev/input/mice"
Option    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier   "Monitor0"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
EndSection

Section "Monitor"
Identifier   "Monitor1"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
EndSection

Section "Monitor"
Identifier   "Monitor2"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
EndSection

Section "Device"
Identifier  "Card0"
Driver "intel"
BusID       "PCI:0:2:0"
EndSection

Section "Device"
Identifier  "Card1"
Driver "intel"
BusID       "PCI:0:2:0"
EndSection

Section "Device"
  Identifier  "Card2"
Driver "intel"
BusID       "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
SubSection "Display"
Viewport   0 0
Depth     1
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     4
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     8
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     15
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     16
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device     "Card1"
Monitor    "Monitor1"
SubSection "Display"
Viewport   0 0
Depth     1
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     4
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     8
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     15
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     16
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device     "Card2"
Monitor    "Monitor2"
SubSection "Display"
Viewport   0 0
Depth     1
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     4
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     8
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     15
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     16
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     24
EndSubSection
EndSection

Section "Extensions"
# Option      "Composite" "disable"
# Option      "RENDER" "disable"
EndSection