https://wiki.archlinux.org/api.php?action=feedcontributions&user=SEMW&feedformat=atomArchWiki - User contributions [en]2024-03-28T16:18:19ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Hamachi&diff=113104Hamachi2010-07-31T22:34:00Z<p>SEMW: /* GUI */ fix another of my typos</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
=Introduction=<br />
<br />
With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.<br />
<br />
Hamachi is fast, secure and simple. It is also free. <br />
<br />
=External Links=<br />
<br />
'''Hamachi public networks for popular Games : [http://www.hamachi.cz www.hamachi.cz]'''<br />
<br /><br />
English translate : '''[http://www.eng.hamachi.cz www.eng.hamachi.cz]'''<br />
<br /><br />
Individual help : '''[http://www.forum.hamachi.cz www.Forum.hamachi.cz]'''<br />
<br />
=Initial Configuration=<br />
<br />
To run Hamachi you need /dev/net/tun. <br />
<br />
This is created by the tun module. As root run,<br />
<pre><br />
modprobe tun<br />
</pre><br />
<br />
Or you can manually create /dev/net/tun by running...<br />
<pre><br />
mkdir /dev/net<br />
mknod /dev/net/tun c 10 200<br />
</pre><br />
<br />
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.<br />
<br />
<pre><br />
MODULES=(... ... ... ... ... tun ... ... ...)<br />
</pre><br />
<br />
=Download And Install Hamachi=<br />
==From the AUR==<br />
Hamachi is available in the AUR, [http://aur.archlinux.org/packages.php?do_Details=1&ID=3709&O=0&L=0&C=0&K=hamachi&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd here].<br />
<br />
Download the package, untar it, and run...<br />
<br />
<pre><br />
makepkg<br />
</pre><br />
<br />
in the hamachi directory that is created.<br />
<br />
<br />
Then add the package with...<br />
<br />
<pre><br />
pacman -A hamachi-(package version)<br />
</pre><br />
<br />
<br />
Now as root run...<br />
<pre><br />
tuncfg<br />
</pre><br />
<br />
<br />
Finally, run hamachi-init<br />
<pre><br />
hamachi-init<br />
</pre><br />
<br />
==Manual installation==<br />
Or you can get it manually.<br />
<br />
Head to [http://files.hamachi.cc/linux/ hamachi.cc] and download their linux client.<br />
<br />
Untar it <br />
<pre><br />
tar zxvf hamachi-x.x.x-x.tar.gz<br />
</pre><br />
<br />
Compile:<br />
<pre><br />
cd hamachi-x.x.x-x<br />
make install<br />
</pre><br />
<br />
And run tunecfg<br />
<pre><br />
cd tuncfg<br />
./tuncfg<br />
</pre><br />
<br />
Run hamachi-init<br />
<pre><br />
$hamachi-init<br />
</pre><br />
And thats the installation.<br />
<br />
==Version 2 beta==<br />
<br />
Version 2 of the Linux Hamachi client exists, and is currently in beta. It is available from the AUR under the name <pre>logmein-hamachi</pre> Or from [https://secure.logmein.com/US/labs/ the labs page on the hamachi website].<br />
<br />
=Running Hamachi=<br />
Start up the (matt) daemon<br />
<pre><br />
$hamachi start<br />
</pre><br />
Now you have a whole bunch of commands at your disposal. These are in no particular order, and are fairly self explanitory. <br />
<br />
<pre><br />
$hamachi set-nick bob<br />
$hamachi login<br />
$hamachi create my-net secretpassword<br />
$hamachi go-online my-net<br />
$hamachi list<br />
$hamachi go-offline my-net<br />
</pre><br />
<br />
To get a list of all the commands just run:<br />
<pre><br />
$hamachi ?<br />
</pre><br />
<br />
'''Note:''' Make sure you change the status of the channel(s) you are in to online if you want to perform any network actions on computers in there.<br />
<br />
==As a Daemon==<br />
<br />
You can run hamachi as a daemon this way:<br />
<br />
Copy your configuration to ''/root'' directory:<br />
<br />
<pre><br />
cp -R ~/.hamachi /root/<br />
</pre><br />
<br />
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:<br />
<br />
<pre><br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
DAEMON=/usr/bin/hamachi<br />
NAME=hamachi<br />
DESC="Hamachi VPN client"<br />
PID_FILE=/var/run/daemons/hamachi<br />
<br />
case "$1" in<br />
start)<br />
#Check for running tuntap, start when not running<br />
ck_daemon tuntap && /etc/rc.d/tuntap start<br />
stat_busy "Starting $DESC"<br />
$DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping $DESC"<br />
[ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
Remeber to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.<br />
<br />
And don't forget to: <br />
<br />
<pre><br />
chmod +x /etc/rc.d/hamachi<br />
</pre><br />
<br />
=GUI=<br />
Various GUI frontends to hamachi are available in the AUR.<br />
<br />
For hamachi 1:<br />
<br />
*haguichi (Gtk2, mono)<br />
*ghamachi (Gtk2)<br />
*hamachi-hui (Gtk2)<br />
<br />
For hamachi 2 beta:<br />
<br />
*quamachi (Qt4)<br />
<br />
=Troubleshooting=<br />
==If Hamachi times out soon after launch==<br />
If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:<br />
<br />
<pre><br />
KeepAlive 10<br />
</pre><br />
<br />
==If you have problem connecting to some hosts==<br />
Check if they are using Hamachi2, if that is the case then it's a known issue in Hamachi2 client connecting to the Hamachi linux client.</div>SEMWhttps://wiki.archlinux.org/index.php?title=Hamachi&diff=113085Hamachi2010-07-31T19:37:41Z<p>SEMW: Listed all 4 guis currently in the AUR by supported hamachi version & toolkit</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
=Introduction=<br />
<br />
With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.<br />
<br />
Hamachi is fast, secure and simple. It is also free. <br />
<br />
=External Links=<br />
<br />
'''Hamachi public networks for popular Games : [http://www.hamachi.cz www.hamachi.cz]'''<br />
<br /><br />
English translate : '''[http://www.eng.hamachi.cz www.eng.hamachi.cz]'''<br />
<br /><br />
Individual help : '''[http://www.forum.hamachi.cz www.Forum.hamachi.cz]'''<br />
<br />
=Initial Configuration=<br />
<br />
To run Hamachi you need /dev/net/tun. <br />
<br />
This is created by the tun module. As root run,<br />
<pre><br />
modprobe tun<br />
</pre><br />
<br />
Or you can manually create /dev/net/tun by running...<br />
<pre><br />
mkdir /dev/net<br />
mknod /dev/net/tun c 10 200<br />
</pre><br />
<br />
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.<br />
<br />
<pre><br />
MODULES=(... ... ... ... ... tun ... ... ...)<br />
</pre><br />
<br />
=Download And Install Hamachi=<br />
==From the AUR==<br />
Hamachi is available in the AUR, [http://aur.archlinux.org/packages.php?do_Details=1&ID=3709&O=0&L=0&C=0&K=hamachi&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd here].<br />
<br />
Download the package, untar it, and run...<br />
<br />
<pre><br />
makepkg<br />
</pre><br />
<br />
in the hamachi directory that is created.<br />
<br />
<br />
Then add the package with...<br />
<br />
<pre><br />
pacman -A hamachi-(package version)<br />
</pre><br />
<br />
<br />
Now as root run...<br />
<pre><br />
tuncfg<br />
</pre><br />
<br />
<br />
Finally, run hamachi-init<br />
<pre><br />
hamachi-init<br />
</pre><br />
<br />
==Manual installation==<br />
Or you can get it manually.<br />
<br />
Head to [http://files.hamachi.cc/linux/ hamachi.cc] and download their linux client.<br />
<br />
Untar it <br />
<pre><br />
tar zxvf hamachi-x.x.x-x.tar.gz<br />
</pre><br />
<br />
Compile:<br />
<pre><br />
cd hamachi-x.x.x-x<br />
make install<br />
</pre><br />
<br />
And run tunecfg<br />
<pre><br />
cd tuncfg<br />
./tuncfg<br />
</pre><br />
<br />
Run hamachi-init<br />
<pre><br />
$hamachi-init<br />
</pre><br />
And thats the installation.<br />
<br />
==Version 2 beta==<br />
<br />
Version 2 of the Linux Hamachi client exists, and is currently in beta. It is available from the AUR under the name <pre>logmein-hamachi</pre> Or from [https://secure.logmein.com/US/labs/ the labs page on the hamachi website].<br />
<br />
=Running Hamachi=<br />
Start up the (matt) daemon<br />
<pre><br />
$hamachi start<br />
</pre><br />
Now you have a whole bunch of commands at your disposal. These are in no particular order, and are fairly self explanitory. <br />
<br />
<pre><br />
$hamachi set-nick bob<br />
$hamachi login<br />
$hamachi create my-net secretpassword<br />
$hamachi go-online my-net<br />
$hamachi list<br />
$hamachi go-offline my-net<br />
</pre><br />
<br />
To get a list of all the commands just run:<br />
<pre><br />
$hamachi ?<br />
</pre><br />
<br />
'''Note:''' Make sure you change the status of the channel(s) you are in to online if you want to perform any network actions on computers in there.<br />
<br />
==As a Daemon==<br />
<br />
You can run hamachi as a daemon this way:<br />
<br />
Copy your configuration to ''/root'' directory:<br />
<br />
<pre><br />
cp -R ~/.hamachi /root/<br />
</pre><br />
<br />
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:<br />
<br />
<pre><br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
DAEMON=/usr/bin/hamachi<br />
NAME=hamachi<br />
DESC="Hamachi VPN client"<br />
PID_FILE=/var/run/daemons/hamachi<br />
<br />
case "$1" in<br />
start)<br />
#Check for running tuntap, start when not running<br />
ck_daemon tuntap && /etc/rc.d/tuntap start<br />
stat_busy "Starting $DESC"<br />
$DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping $DESC"<br />
[ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
Remeber to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.<br />
<br />
And don't forget to: <br />
<br />
<pre><br />
chmod +x /etc/rc.d/hamachi<br />
</pre><br />
<br />
=GUI=<br />
Various GUI frontends to hamachi are available in the AUR.<br />
<br />
For hamachi 1:<br />
<br />
*haguichi (Gtk2, mono)<br />
*ghamachi (Gtk2)<br />
*hamachi-hui (Gtk2)<br />
<br />
For hamachi 2 beta:<br />
<br />
*qhamachi (Qt4)<br />
<br />
=Troubleshooting=<br />
==If Hamachi times out soon after launch==<br />
If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:<br />
<br />
<pre><br />
KeepAlive 10<br />
</pre><br />
<br />
==If you have problem connecting to some hosts==<br />
Check if they are using Hamachi2, if that is the case then it's a known issue in Hamachi2 client connecting to the Hamachi linux client.</div>SEMWhttps://wiki.archlinux.org/index.php?title=Hamachi&diff=113084Hamachi2010-07-31T19:34:01Z<p>SEMW: Version 2 beta information</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
=Introduction=<br />
<br />
With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.<br />
<br />
Hamachi is fast, secure and simple. It is also free. <br />
<br />
=External Links=<br />
<br />
'''Hamachi public networks for popular Games : [http://www.hamachi.cz www.hamachi.cz]'''<br />
<br /><br />
English translate : '''[http://www.eng.hamachi.cz www.eng.hamachi.cz]'''<br />
<br /><br />
Individual help : '''[http://www.forum.hamachi.cz www.Forum.hamachi.cz]'''<br />
<br />
=Initial Configuration=<br />
<br />
To run Hamachi you need /dev/net/tun. <br />
<br />
This is created by the tun module. As root run,<br />
<pre><br />
modprobe tun<br />
</pre><br />
<br />
Or you can manually create /dev/net/tun by running...<br />
<pre><br />
mkdir /dev/net<br />
mknod /dev/net/tun c 10 200<br />
</pre><br />
<br />
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.<br />
<br />
<pre><br />
MODULES=(... ... ... ... ... tun ... ... ...)<br />
</pre><br />
<br />
=Download And Install Hamachi=<br />
==From the AUR==<br />
Hamachi is available in the AUR, [http://aur.archlinux.org/packages.php?do_Details=1&ID=3709&O=0&L=0&C=0&K=hamachi&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd here].<br />
<br />
Download the package, untar it, and run...<br />
<br />
<pre><br />
makepkg<br />
</pre><br />
<br />
in the hamachi directory that is created.<br />
<br />
<br />
Then add the package with...<br />
<br />
<pre><br />
pacman -A hamachi-(package version)<br />
</pre><br />
<br />
<br />
Now as root run...<br />
<pre><br />
tuncfg<br />
</pre><br />
<br />
<br />
Finally, run hamachi-init<br />
<pre><br />
hamachi-init<br />
</pre><br />
<br />
==Manual installation==<br />
Or you can get it manually.<br />
<br />
Head to [http://files.hamachi.cc/linux/ hamachi.cc] and download their linux client.<br />
<br />
Untar it <br />
<pre><br />
tar zxvf hamachi-x.x.x-x.tar.gz<br />
</pre><br />
<br />
Compile:<br />
<pre><br />
cd hamachi-x.x.x-x<br />
make install<br />
</pre><br />
<br />
And run tunecfg<br />
<pre><br />
cd tuncfg<br />
./tuncfg<br />
</pre><br />
<br />
Run hamachi-init<br />
<pre><br />
$hamachi-init<br />
</pre><br />
And thats the installation.<br />
<br />
==Version 2 beta==<br />
<br />
Version 2 of the Linux Hamachi client exists, and is currently in beta. It is available from the AUR under the name <pre>logmein-hamachi</pre> Or from [https://secure.logmein.com/US/labs/ the labs page on the hamachi website].<br />
<br />
=Running Hamachi=<br />
Start up the (matt) daemon<br />
<pre><br />
$hamachi start<br />
</pre><br />
Now you have a whole bunch of commands at your disposal. These are in no particular order, and are fairly self explanitory. <br />
<br />
<pre><br />
$hamachi set-nick bob<br />
$hamachi login<br />
$hamachi create my-net secretpassword<br />
$hamachi go-online my-net<br />
$hamachi list<br />
$hamachi go-offline my-net<br />
</pre><br />
<br />
To get a list of all the commands just run:<br />
<pre><br />
$hamachi ?<br />
</pre><br />
<br />
'''Note:''' Make sure you change the status of the channel(s) you are in to online if you want to perform any network actions on computers in there.<br />
<br />
==As a Daemon==<br />
<br />
You can run hamachi as a daemon this way:<br />
<br />
Copy your configuration to ''/root'' directory:<br />
<br />
<pre><br />
cp -R ~/.hamachi /root/<br />
</pre><br />
<br />
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:<br />
<br />
<pre><br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
DAEMON=/usr/bin/hamachi<br />
NAME=hamachi<br />
DESC="Hamachi VPN client"<br />
PID_FILE=/var/run/daemons/hamachi<br />
<br />
case "$1" in<br />
start)<br />
#Check for running tuntap, start when not running<br />
ck_daemon tuntap && /etc/rc.d/tuntap start<br />
stat_busy "Starting $DESC"<br />
$DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping $DESC"<br />
[ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
Remeber to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.<br />
<br />
And don't forget to: <br />
<br />
<pre><br />
chmod +x /etc/rc.d/hamachi<br />
</pre><br />
<br />
=GUI=<br />
I found this link on the forums at hamachii. Its a GTK2+ GUI frontend. Not bad if your into that sort of thing. <br />
<br />
[http://purebasic.myftp.org/?filename=files/3/projects/hamachi/v.0.7.2/gHamachi_gtk2.tar.gz Hamachi GUI]<br />
<br />
=Troubleshooting=<br />
==If Hamachi times out soon after launch==<br />
If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:<br />
<br />
<pre><br />
KeepAlive 10<br />
</pre><br />
<br />
==If you have problem connecting to some hosts==<br />
Check if they are using Hamachi2, if that is the case then it's a known issue in Hamachi2 client connecting to the Hamachi linux client.</div>SEMWhttps://wiki.archlinux.org/index.php?title=Improving_performance&diff=113067Improving performance2010-07-31T15:42:34Z<p>SEMW: Clarified that noatime is a superset of nodiratime</p>
<hr />
<div>[[Category: Other desktop user's resources (English)]]<br />
[[Category: HOWTOs (English)]]<br />
{{i18n|Maximizing performance}}<br />
This article is a retrospective analysis and basic rundown about gaining performance in Arch Linux.<br />
<br />
==The basics==<br />
<br />
===Know your system===<br />
The best way to tune a system is to target the bottlenecks, that is the subsystems that limit the overall speed. They usually can be identified by knowing the specifications of the system, but there are some basic indications:<br />
* If the computer becomes slow when big applications, like openoffice and firefox, are running at the same time, then there is a good chance the amount of RAM is insufficient. To verify available RAM, use this command, and check for the line beginning with -/+buffers:<br />
$ free -m<br />
* If boot time is really slow, and if applications take a lot of time to load the first time they are launched, but run fine afterwards, then the hard drive is probably too slow. The speed of a hard drive can be measured using the hdparm command:<br />
$ hdparm -t /dev/harddrive<br />
This is only the pure read speed of the hard drive, and is not a valid benchmark, but a value superior to 40mb/s can be considered decent on an average system.<br />
* If the CPU load is consistently high even when RAM is available, then lowering CPU usage should be a priority. CPU load can be monitored in many ways, like using the top command:<br />
$ top<br />
* If the only applications lagging are the ones using direct rendering, meaning they use the graphic card, like video players and games, then improving the graphic performance should help. To verify this, try running this command for 20 seconds:<br />
$ glxgears<br />
This also isn't a valid benchmark, but a value of 300fps or less can be considered very low on an average system. If that is the case, then maybe direct rendering simply isn't enabled. This is indicated by the glxinfo command:<br />
$ glxinfo | grep direct<br />
<br />
===The first thing to do===<br />
The simplest and most efficient way of improving overall performance is to run less and lighter applications. This can be achieved by:<br />
* Changing the desktop environment to a lighter one. Good choices are [[LXDE]], [[Xfce]], or a standalone window manager like [[Openbox]].<br />
* Using lightweight applications. See [[Lightweight Software]] and the Light and Fast Applications Awards threads in the forum: [http://bbs.archlinux.org/viewtopic.php?id=41168 2007], [http://bbs.archlinux.org/viewtopic.php?id=67951 2008], [http://bbs.archlinux.org/viewtopic.php?id=78490 2009], and [http://bbs.archlinux.org/viewtopic.php?id=88515 2010].<br />
* Removing unnecessary daemons in rc.conf.<br />
<br />
===Compromise===<br />
Almost all tuning brings drawbacks. Lighter applications usually come with less features and some tweaks may make a system unstable, or simply require time to implement and maintain. This page tries to highlight those drawbacks, but the final judgment rests on the user.<br />
<br />
===Benchmarking===<br />
The effects of optimization are often difficult to judge. They can however be measured by [[benchmarking]] tools<br />
<br />
==Storage devices==<br />
===Choosing and tuning your filesystem===<br />
Choosing the best filesystem for a specific system is very important because each has its own strengths. The [[Beginner's Guide#Filesystem Types|beginner's guide]] provides a short summary of the most popular ones. You can also find relevant articles [http://wiki.archlinux.org/index.php/Category:File_systems_%28English%29 here].<br />
<br />
====Summary====<br />
*XFS: Excellent performance with large files. Low speed with small files. A good choice for /home.<br />
*Reiserfs: Excellent performance with small files. A good choice for /var.<br />
*Ext3: Average performance, reliable.<br />
*Ext4: Great overall performance, reliable, has performance issues with sqlite and some other databases.<br />
*JFS: Good overall performance, very low CPU usage.<br />
*Btrfs: Great overall performance (better than ext4), reliable (once it becomes stable). Lots of features. Still in heavy development and considered as unstable. Do not use this filesystem yet unless you know what you are doing and are prepared for potential data loss.<br />
<br />
====Mount options====<br />
Mount options offer an easy way to improve speed without reformatting. They can be set using the mount command:<br />
$ mount -o option1,option2 /dev/partition /mnt/partition<br />
To set them permanently, you can modify /etc/fstab to make the relevant line look like this:<br />
/dev/partition /mnt/partition partitiontype option1,option2 0 0<br />
A couple of mount options improving performance on almost all file-systems is {{Codeline|noatime,nodiratime}}. The former is a superset of the latter (which applies to directories only -- {{Codeline|noatime}} applies to both files and directories). In rare cases, for example if you use mutt, it can cause minor problems. You can instead use the {{Codeline|relatime}} option.<br />
<br />
====Ext3====<br />
See [[Ext3 Filesystem Tips]].<br />
<br />
====JFS====<br />
See [[JFS Filesystem#Optimizations| JFS Filesystem]].<br />
<br />
====XFS====<br />
For optimal speed, create an XFS file-system with:<br />
$ mkfs.xfs -l internal,size=128m -d agcount=2 /dev/thetargetpartition<br />
An XFS specific mount option that may increase performance is {{Codeline|<nowiki>logbufs=8</nowiki>}}. As its speed when dealing with small files is poor, you should definitely consider using [[Maximizing Performance#Pacman-cage|pacman-cage]]. For defragmentation, see [[Defragmentation XFS]].<br />
<br />
==== Reiserfs ====<br />
<br />
The {{Codeline|<nowiki>data=writeback</nowiki>}} mount option improves speed, but may corrupt data during power loss. The {{Codeline|notail}} mount option increases the space used by the filesystem by about 5%, but also improves overall speed. You can also reduce disk load by putting the journal and data on separate drives. This is be done when creating the filesystem: <br />
<br />
$ mkreiserfs –j /dev/hda1 /dev/hdb1<br />
<br />
Replace /dev/hda1 with the partition reserved for the journal, and /dev/hdb1 with the partition for data. You can learn more about reiserfs with this [http://www.funtoo.org/en/articles/linux/ffg/2/ article].<br />
<br />
====BTRFS====<br />
Btrfs is a new filesystem offering online defragmentation, optimized mode for SSDs, writable snapshots, changing size of partition without data loss and many other features. Btrfs is still in active development, and is available in the kernel (marked experimental). See more info on the [http://btrfs.wiki.kernel.org/index.php/Main_Page Btrfs homepage].<br />
<br />
===== mkinitcpio.conf for btrfs =====<br />
<br />
For non-root btrfs filesystems the btrfs module and dependencies are loaded when required. For a root btrfs filesystem you should ensure the initial ramdisk has the correct modules. There is a dependency of the btrfs module on the libcrc32c module. You can add crc32c to the modules line of /etc/mkinitcpio.conf like so:<br />
<br />
MODULES="crc32c libcrc32c zlib_deflate btrfs"<br />
<br />
This avoids pitfalls like "unknown symbol" errors when loading the btrfs modules.<br />
See also [http://aur.archlinux.org/packages.php?ID=33376 mkinitcpio-btrfs].<br />
<br />
===Compressing /usr===<br />
A way to speed up reading from the hard drive is to compress the data, because there is less data to be read. It must however be decompressed, which means a greater CPU load. Some filesystems support transparent compression, most notably btrfs and reiserfs4, but their compression ratio is limited by the 4k block size. A good alternative is to compress /usr in a squashfs file, with a 64k(128k) block size, as instructed in this [http://forums.gentoo.org/viewtopic-t-646289.html Gentoo forums thread]. What this tutorial does is basically to compress the /usr folder into a compressed squashfs file-system, then mounts it with aufs. A lot of space is saved, usually two thirds of the original size of /usr, and applications load faster. However, each time an application is installed or reinstalled, it is written uncompressed, so /usr must be re-compressed periodically.Squashfs is already in the kernel, and aufs2 is in the extra repository, so no kernel compilation is needed if using the stock kernel.<br />
Since the linked guide is for Gentoo the next commands outline the steps especially for Arch. Basically we have got install two packages to get it working:<br />
$ pacman -S aufs2 squashfs-tools<br />
This command installs the aufs-modules and some userspace-tools for the squash-filesystem.<br />
Now we need some extra directories where we can store the archive of /usr as read-only and another folder where we can store the data changed after the last compression as writeable:<br />
$ mkdir /squashed<br />
$ mkdir /squashed/usr<br />
$ cd /squashed/usr<br />
$ mkdir ro<br />
$ mkdir rw<br />
Now that we got a rough setup you should perform a complete system-upgrade since every change of content in /usr after the compression will be excluded from this speedup. If you use prelink you should also perform a complete prelink before creating the archive. Now it is time to invoke the command to compress /usr:<br />
$ mksquashfs /usr /squashed/usr/usr.sfs -b 65536<br />
These parameters/options are the ones suggested by the Gentoo link but there might be some room for improvement using some of the options described [http://www.tldp.org/HOWTO/SquashFS-HOWTO/mksqoverview.html#mksqusing here].<br />
Now to get the archive mounted together with the writeable folder it is necessary to edit fstab:<br />
$ nano /etc/fstab<br />
Add the following lines:<br />
/squashed/usr/usr.sfs /squashed/usr/ro squashfs loop,ro 0 0 <br />
usr /usr aufs udba=reval,br:/squashed/usr/rw:/squashed/usr/ro 0 0<br />
Now you should be done and able to reboot. The original Author suggests to delete all the old content of /usr, but this might cause some problems if anything goes wrong during some later re-compression. It is more safe to leave the old files in place just to be on the safe side.<br />
<br />
A [http://bbs.archlinux.org/viewtopic.php?pid=714052 bash script] has been created that will automate the process of re-compressing (read updating) the archive since the tutorial is meant for Gentoo and some options don't correlate to what they should be in Arch.<br />
<br />
===Tuning for an SSD===<br />
This [http://tombuntu.com/index.php/2008/09/04/four-tweaks-for-using-linux-with-solid-state-drives/ tutorial] has some very simple tricks to fully harness the power of an SSD and to reduce disk read/write cycles to prolong its life. But you should keep in mind that the one tip that suggests to mount /tmp within RAM is really usefull as long as you don't compile stuff like games or don't watch long flash videos within your browser. Yaourt uses /tmp for storing everything that it compiles and might abort due to insufficient amount of disk space which means in this case not enough RAM. You can do the following to let Yaourt use another directory for its temporary files:<br />
nano /etc/yaourtrc<br />
and now uncomment the line:<br />
# TmpDirectory /what/ever/you/want/<br />
and change it to something like:<br />
TmpDirectory /home/arch/.tmp/<br />
Just make sure that this directory is not on your SSD; that's what we're trying to prevent in first place!<br />
<br />
See also [[Tuning Arch for Speed#Compcache|compcache]].<br />
<br />
See this [http://cptl.org/wp/index.php/2010/03/30/tuning-solid-state-drives-in-linux/ guide] for information on the introduction of online SSD TRIM support in the 2.6.33 kernel.<br />
<br />
If you have the latest Kernel and use ext4 you can simply activate SSD live TRIM support by adding one mount option to your fstab.<br />
discard<br />
example:<br />
/dev/sda1 / ext4 defaults,noatime,discard 0 1<br />
{{warning| Make sure you have a Kernel and a SSD with latest firmware which are known to support TRIM !<br />
Otherwise you could lose your data, so be sure to always backup beforehand!}}<br />
<br />
==CPU==<br />
The only way to directly improve CPU speed is overclocking. As it is a complicated and risky task, it is not recommended for anyone except experts. The best way to overclock is through the BIOS. When purchasing your system, keep in mind that most Intel motherboards are notorious for disabling the capacity to overclock.<br />
<br />
A way to modify performance ([http://lkml.org/lkml/2009/9/6/136 ref]) is to use Con Kolivas' desktop-centric kernel patchset, which, among other things, replaces the Completely Fair Scheduler (CFS) with the Brain Fuck Scheduler (BFS).<br />
<br />
To install a kernel that contains the ck patchset from the AUR using [[yaourt]]:<br />
<br />
$ yaourt -S kernel26-ck<br />
<br />
Or a kernel that contains just BFS patch:<br />
<br />
$ yaourt -S kernel26-bfs<br />
<br />
Some other kernels in the AUR have the BFS patch included or available as an option.<br />
<br />
{{Note|BFS/CK are designed for desktop/laptop use and not servers. They provide low latency and work well for 16 CPUs or less. Also, Con Kolivas suggests setting HZ to 1000. For more information, see the [http://ck.kolivas.org/patches/bfs/bfs-faq.txt BFS FAQ] and [http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.32/2.6.32-ck1/patches/ ck patches].}}<br />
<br />
===Verynice===<br />
[http://thermal.cnde.iastate.edu/~sdh4/verynice/ Verynice] is a daemon, available on [http://aur.archlinux.org/packages.php?ID=6403 AUR], for dynamically adjusting the nice levels of executables. The nice level represent the priority of the executable when allocating CPU resources. Simply define executables for which responsiveness is important, like X or multimedia applications, as ''goodexe'' in {{filename|/etc/verynice.conf}}. Similarly, CPU-hungry executables running in the background, like make, can be defined as ''badexe''. This prioritisation greatly improves system responsiveness under heavy load.<br />
<br />
==Network==<br />
See relevant section in [[General Recommendations#Networking|General Recomendations]].<br />
<br />
==Graphics==<br />
<br />
===Xorg.conf configuration===<br />
Graphic performance heavily depends on the settings in {{Filename|/etc/X11/xorg.conf}}. There are tutorials for [[Nvidia]], [[ATI]] and [[Intel]] cards. Improper settings may stop Xorg from working, so caution is advised.<br />
<br />
===Driconf===<br />
Driconf is a small utility that allows you to change the direct rendering settings for open source drivers. Enabling HyperZ can drastically improve performance.<br />
<br />
===GPU Overclocking===<br />
Overclocking a graphics card is typically more expedient than with a CPU, since there are readily accessible software packages which allow for on-the-fly GPU clock adjustments. For ATI users, get [http://aur.archlinux.org/packages.php?ID=2128 rovclock], and Nvidia users should get nvclock in the extra repository. <br />
<br />
The changes can be made permanent by running the appropriate command after X boots, for example by adding it to {{Filename|~/.xinitrc}}. A safer approach would be to only apply the overclocked settings when needed.<br />
<br />
==RAM and swap==<br />
<br />
=== Swappiness ===<br />
<br />
The swappiness represent how much the kernel prefers swap to RAM. Setting it to a very low value, meaning the kernel will almost always use RAM, is known to improve responsiveness on many systems. To do that, simply add those line to {{Filename|/etc/sysctl.conf}}:<br />
<br />
vm.swappiness=20<br />
vm.vfs_cache_pressure=50<br />
<br />
To test and more on why this may work, take a look at this [http://rudd-o.com/en/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that article].<br />
<br />
===Compcache===<br />
[http://code.google.com/p/compcache/ Compcache], also known as the ramzswap kernel module, creates a swap device in RAM and compresses it. That means that part of the RAM can hold much more information, but uses more CPU. Still, is it much quicker than a hard drive swap. If a system often falls back to swap, this could improve responsiveness. Compcache is available in [community].<br />
<br />
It is also possible (and recommended) to tell compcache to fall back on the hard drive swap when full. To do this, define a backing swap device in the configuration file. This swap device must not be in use when compcache is started, so remove it from your /etc/fstab!<br />
<br />
This is also a good way to reduce disk read/write cycles due to swap on SSDs.<br />
<br />
===Mounting /tmp to RAM===<br />
This will make your system a tiny bit faster, but will take up some of your RAM. It also reduces disk read/write cycles, and is therefore a good choice if using an SSD or if you have RAM to spare. Simply add this line to {{Filename|/etc/fstab}} and reboot:<br />
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0<br />
<br />
===Using the graphic card's RAM===<br />
In the unlikely case that you have very little RAM and a surplus of video RAM, you can use the latter as swap. See [[Swap on video ram]].<br />
<br />
=== Preloading ===<br />
Preloading is the action of of putting and keeping target files into the RAM. The practical use is that preloaded applications always start very quickly, because reading from the RAM is always quicker than from the hard drive. However, part of your RAM will be dedicated to this task, but no more than if you kept the application open. Therefore, preloading is best used with heavy, often-used applications, like firefox and openoffice.<br />
==== Go-preload ====<br />
[http://aur.archlinux.org/packages.php?ID=34207 Go-preload] is a small daemon created in the [http://forums.gentoo.org/viewtopic-t-789818-view-next.html?sid=5457cff93039fc7d4a3e445ef90f9821 gentoo forum]. To use it, first run this command in a terminal for each program you want to preload at boot:<br />
# gopreload-prepare program<br />
Then, as instructed, press enter when the program is fully loaded. This will add a list of files needed by the program in {{Filename|/usr/share/gopreload/enabled}}. To load all lists at boot, simply add gopreload to your DAEMONS array in {{Filename|/etc/rc.conf}}. To disable the loading of a program, remove the appropriate list in {{Filename|/usr/share/gopreload/enabled}}, or move it to {{Filename|/usr/share/gopreload/disabled}}.<br />
====Preload====<br />
A more automated, albeit less KISS, approach is used by [[Preload]]. All you have to do is add it to your DAEMONS array in {{Filename|/etc/rc.conf}}. It will monitor the most used files on your system, and with time build its own list of files to preload at boot.<br />
<br />
==Boot time==<br />
You can find tutorials with good tips [[Tweaking for a faster boot time|here]] and [[Speedup boot|here]].<br />
<br />
===Suspend to ram===<br />
The best way to reduce boot time is not booting at all. Consider [[Suspend to RAM|suspending your system to ram]] instead.<br />
<br />
===Kernel boot options===<br />
Some boot options can decrease kernel boot time. The {{Codeline|fastboot}} option usually can take off one second or so. Also, if you see a message saying "Waiting 8s for device XXX" at boot, adding {{Codeline|<nowiki>rootdelay=1</nowiki>}} can reduce the waiting time, but be careful, as it may break the booting process. Those options are set in {{Filename|/boot/grub/menu.lst}} or {{Filename|/etc/lilo.conf}}, depending on which bootloader you use.<br />
<br />
===Custom kernel===<br />
Compiling a custom kernel will reduce boot time and memory usage, but can be long, complicated and even painful. It usually is not worth the effort, but can be very interesting and a great learning experience. If you really know what you are doing, start [[Kernel Compilation|here]].<br />
<br />
==Application-specific tips==<br />
===Firefox===<br />
The [[Firefox]] article offers good tips; most notably [[Firefox#Speed up rendering by disabling pango |disabling pango]], [[Firefox#Speed-Up Firefox by Defragmenting the Profile's SQLite Databases|cleaning the sqlite database]], and using [[Firefox#Firefox customized for Speed|firefox-pgo]]. See also: [[Speed-up Firefox using tmpfs]], and [[Firefox Tips and Tweaks#Turning off anti-phishing to speedup Firefox|Turning off anti-phishing]].<br />
<br />
===Gcc/Makepkg===<br />
See [[Ccache]].<br />
<br />
===Mkinitcpio===<br />
User josh_ from the forum has made impressive changes to the mkinitcpio script, making it two or three times faster. While waiting for these changes to be implemented, you can get them [http://bbs.archlinux.org/viewtopic.php?id=79898 here].<br />
<br />
===OpenOffice===<br />
See [[OpenOffice#Speed up OpenOffice|Speed up OpenOffice]].<br />
<br />
===Pacman===<br />
See [[Improve Pacman Performance]].<br />
<br />
===SSH===<br />
See [[SSH#Speed up SSH|Speed up SSH]].</div>SEMWhttps://wiki.archlinux.org/index.php?title=KDE&diff=112055KDE2010-07-15T22:25:30Z<p>SEMW: Added gtk-qt-engine information to the Gtk application theme integration section</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|KDE}}<br />
[[de:KDE]]<br />
<br />
KDE is a full featured desktop environment known for its well integrated applications, like Konqueror, Dolphin, Plasma, KWrite and Konsole.<br />
<br />
==KDE 4.4 Arch Linux Notes==<br />
<br />
'''KDE 4.4''' Software Compilation is the current major release of KDE that includes a number of improvements and bug fixes. The new Arch package set for KDE makes it possible to only install those applications you like.''<br />
<br />
Important changes in short:<br />
* '''Split packages'''; for more Information see [[KDE_Packages|KDE Packages]] and [[DeveloperWiki:Splitting_KDE|Splitting KDE]].<br />
* Qt uses the '''Gstreamer backend''' for Phonon by default. Other backends like '''phonon-xine''' can be installed optionally.<br />
* Meta packages ensure a smooth upgrade and emulate the old monolith packages for those who prefer them.<br />
<br />
Important hints for upgraders:<br />
* Check if your mirror is '''up to date'''.<br />
* pacman will ask you to replace '''all''' kde packages with kde-meta packages.<br />
* '''Do not force an update'''. If pacman complains about conflicts please '''file a bug report'''.<br />
* You can remove the meta packages and the sub packages you do not need after the update.<br />
* If you do not like split packages just keep using the kde-meta packages.<br />
<br />
:Information about upstream changes are be available [http://kde.org/announcements/4.4 here]<br />
<br />
==Installing KDE 4.4 Software Compilation==<br />
<br />
=== Installing full KDE SC ===<br />
<br />
To install the entire KDE set, first '''fully upgrade your system''':<br />
<br />
pacman -Syu<br />
<br />
and then:<br />
<br />
pacman -S kde<br />
<br />
{{Warning| In case you encounter dependency problems regarding '''Qt/kdelibs/phonon''' while '''upgrading''' KDE, [http://wiki.archlinux.org/index.php/KDE#Arch_linux_specific_packaging_issues follow this section.] }}<br />
<br />
If you need language files:<br />
<br />
pacman -S kde-l10n-yourlanguagehere<br />
<br />
e.g. kde-l10n-'''de''', for the German language.<br />
<br />
{{Note| KDE 4.x is '''modular'''; you can install your preferred KDE applications without having to install an entire set of packages. See [[KDE Packages]] for more information.}}<br />
<br />
=== Minimal Install ===<br />
<br />
If you want to have a minimal installation of the KDE SC:<br />
<br />
pacman -S kdebase-workspace kdebase-konsole<br />
<br />
== Starting KDE ==<br />
<br />
Running KDE depends on your preferences. Basically there are two ways of starting KDE. Using '''KDM''' or '''xinitrc'''.<br />
<br />
=== Using KDM (KDE Display Manager)===<br />
''It is highly recommended to get familiar with the [http://wiki.archlinux.org/index.php/Display_Manager full article] concerning display managers, before you make any changes. See also [[KDM]] Wiki page.''<br />
<br />
==== Starting KDM as a daemon ====<br />
Add "'''kdm'''" (without the quotes) to deamons array in '''{{Filename|/etc/rc.conf}}'''<br />
<br />
DAEMONS=(dbus hal syslog-ng network netfs crond ... '''kdm''')<br />
<br />
==== Starting KDM through /etc/inittab ==== <br />
<br />
Edit '''{{Filename|/etc/inittab}}''' and comment out:<br />
#id:3:initdefault:<br />
<br />
[...]<br />
<br />
#x:5:respawn:/usr/bin/xdm -nodaemon<br />
<br />
Then uncomment:<br />
<br />
id:5:initdefault:<br />
<br />
[...]<br />
<br />
x:5:respawn:/usr/bin/kdm -nodaemon<br />
<br />
{{Note| In both methods KDM loads Xorg automatically.}}<br />
<br />
===Using xinitrc===<br />
''The meaning and usage of '''xinitrc''' is very well described [http://wiki.archlinux.org/index.php/Xinitrc here].<br />
<br />
Edit '''{{Filename|/home/}}'''{{Filename|''your-username''}}'''{{Filename|/.xinitrc}}'''. Then uncomment:<br />
exec startkde <br />
After a reboot or/and login, each execution of Xorg ('''startx''' or '''xinit''') will start KDE automatically.<br />
<br />
{{Note| If you want to start Xorg at boot, please read [[Start X at boot]] article.}}<br />
<br />
==Configuring==<br />
<br />
{{Note| Configuring KDE is primarily done in ''''System Settings''''. There are also a few other options available for the desktop with 'Desktop Settings' when you right click the desktop.}}<br />
<br />
For other personalization options not covered below such as activities, different wallpapers on one cube, etc please refer to the [[Plasma]] wiki page.<br />
<br />
===Personalization===<br />
<br />
How to set up the KDE desktop to your personal style; use different Plasma themes, window decorations and icon themes.<br />
<br />
====What is Plasma?====<br />
<br />
[[Plasma]] is a desktop integration technology that provides many functions from displaying the wallpaper to adding widgets to the desktop.<br />
<br />
=====Plasma themes=====<br />
[http://kde-look.org/index.php?xcontentmode=76&PHPSESSID=bba0ae5354c7818b519687ebf5badf0e Plasma themes] can be installed through the Desktop Settings control panel. If you like to have them installed system-wide, themes can be found in both the official repositories and [http://aur.archlinux.org/packages.php?O=0&K=plasmatheme&do_Search=Go AUR].<br />
<br />
=====Plasmoids=====<br />
KDE now supports plasmoids. Plasmoids are little scripted or coded apps that enhance the functionality of your deskop in a yet very pleasing way. You are able to display system-critical information like left over diskspace or monitor your network connection. Moreover there are many plasmoids that make your daily work much more pleasant and efficient and they integrate very well into the surrounding desktop. <br />
The easiest way to get more widgets is by left-klicking onto a panel or the desktop:<br />
Add Widgets -> Get new Widgets -> Download Widgets<br />
This will present a nice frontend for [http://www.kde-look.org/ kde-look.org] and allows you to (un)install widgets with just one klick.<br />
They are also available in the [http://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v repositories].<br />
<br />
====Window Decorations====<br />
<br />
[http://kde-look.org/index.php?xcontentmode=75 Window decorations] can be changed in the '''System Settings > Appearance > Windows''' control panel and some are available on [http://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].<br />
<br />
====KDE 4 Theme Integration with GTK Applications====<br />
<br />
<br />
To better integrate GTK and KDE 4 themes, you can use '''QtCurve'''.<br />
<br />
pacman -S qtcurve-gtk2 qtcurve-kde4<br />
<br />
Or you can download a GTK theme that matches your version of KDE [http://kde-look.org/content/show.php?content=103741 here]. This theme comes closer to the original Oxygen and is updated frequently.<br />
<br />
Alternatively, you can use GTK-Qt-Engine, a GTK engine which uses Qt to render widgets, and so will results in Gtk applications blending in well with a KDE desktop. The only downside is that these engines add some extra code in the process relative to using native styles, arguably bringing issues of elegance; and that there are rendering issues with some Qt styles. See [[Uniform Look for QT and GTK Applications#Theme Engines]] for more.<br />
<br />
pacman -S gtk-qt-engine<br />
<br />
=====Automatic procedure=====<br />
<br />
To change the GTK theme to QtCurve, Gtk-Qt-Engine or something else a few applications are available:<br />
<br />
pacman -S lxappearance<br />
pacman -S gtk-theme-switch2<br />
pacman -S gtk-chtheme<br />
<br />
Then change the theme of your choice in the respective application:<br />
<br />
lxappearance<br />
gtk-theme-switch2<br />
gtk-chtheme<br />
<br />
=====Manual procedure=====<br />
<br />
To manually change the GTK theme to QtCurve, you need to create the file {{Filename|~/.gtkrc-2.0-kde4}} with the following content:<br />
<br />
include "/usr/share/themes/QtCurve/gtk-2.0/gtkrc"<br />
include "/etc/gtk-2.0/gtkrc"<br />
<br />
style "user-font"<br />
{<br />
font_name="Sans Serif"<br />
}<br />
widget_class "*" style "user-font"<br />
<br />
gtk-theme-name="QtCurve"<br />
<br />
Then you need to create the symbolic link {{Filename|~/.gtkrc-2.0}}:<br />
<br />
ln -s .gtkrc-2.0-kde4 .gtkrc-2.0<br />
<br />
If you want also specify a font, you can add (and adapt) the following line to the file:<br />
<br />
gtk-font-name="Sans Serif 9"<br />
<br />
=====Icons=====<br />
<br />
If you're using Oxygen icons and want a consistent look in GTK open/save dialogs, you can install an [http://aur.archlinux.org/packages.php?O=0&K=oxygenrefit2-icon-theme&do_Search=Go oxygenrefit2] icon theme from AUR and set it as your GTK icon theme. Add the theme to the {{Filename|~/.gtkrc-2.0}} file or you can use lxappearance and set it.<br />
<br />
gtk-icon-theme-name="OxygenRefit2"<br />
<br />
There are also a couple GTK themes built on the [http://aur.archlinux.org/packages.php?ID=24329 gtk-kde42-oxygen-theme Oxygen style] that can also do this.<br />
<br />
====Icon Themes====<br />
<br />
Not many full system icons themes are available for KDE 4. You can open up '''System Settings > Appearance > Icons''' and browse for new ones or install them manually. Many of them can be found on [http://www.kde-look.org/ kde-look.org].<br />
<br />
====Arch Linux Logo Icon in Kicker menu====<br />
<br />
Right-Click on the Kicker menu button, press "'''Application launcher settings'''" and then press the icon on the '''right'''. Then you may choose Arch Linux icon or any other icon that will replace the default one.<br />
<br />
====Fonts====<br />
If by default, the fonts in KDE look poor, try installing the [http://www.archlinux.org/packages/extra/any/ttf-dejavu/ ttf-dejavu] and [http://www.archlinux.org/packages/community/any/ttf-liberation/ ttf-liberation] packages. After the installation, be sure to log out and back in. You should not have to modify any settings in the "Fonts" panel of the KDE System Settings application.<br />
<br />
If you have personally set up how your [[Fonts]] render, be aware that System Settings may alter their appearance. When you go '''System Settings > Appearance > Fonts''' System Settings will likely alter your font configuration file ({{Filename|fonts.conf}}). There is no way to prevent this but if you set the values to match your {{Filename|fonts.conf}} file the expected font rendering will return (it will require you to restart your application or in a few cases for you to have to restart your desktop). Note too that Gnomes' Font Preferences will also do this if you use both desktop environments.<br />
<br />
====Space efficiency====<br />
KDE is often critizised for being bloated. The user might get this perception from seeing all those many toolbars and pretty big scaled icons in the applications. One thing that improved the situation was the new Kwin-Theme that came with KDE SC 4.4.* with the more elegant buttons that one can also resize. KDE allows to hide many toolbars, menubars and stautsbars. Well not exactly KDE but the applications shipped with it. So one can strive after getting as much uneccessary stuff hidden as possible. These are mostly things one doesn't need at all or on very few occasions so that one gets along fine with doing one or two clicks more. Or just use some shortcut which can make access to certain functions even faster. One can use the standart oxygen themes both for Qt and Kwin.<br />
<br />
=====All sorts of *bars=====<br />
Most toolbars of a programm can be removed in the menubar-entry "Settings". There you often can hide the statusbar and often all toolbars. The last step should be to remove the menubar itself via Ctrl + M. The applications that allow most of these configurations are: Kopete (Contactlist + chat window), Dolphin, Konqeror, KMail, KTorrent and Konsole.<br />
If you do not want to remove any bars you can still make them smaller or remove the text via:<br />
System-Settings -> Appearance -> Style -> Tab "Finetuning" -> <br />
"Main toolbar text", "secondary toolbar text"<br />
Since most aspect ratios of modern flat screens are wider than 4:3 it could be reasonable to put the toolsbar at the left or right of a window to artificially stretch windows more to the monitors aspect ratio.<br />
<br />
=====Plasma=====<br />
There are also some settings and modifications you can apply to your plasmoids to make KDE less space wasting. The digital clock wastes more space than the analogue clock. The little plasma icon that one can see in the panel can be hidden by locking the widgets via rightklicking onto the panel.<br />
If you have got many tasks in your task-manager you should consider using ''smooth-tasks''. This alternative task-manager allows you to just display the icons of a task thus using less space but still maintaining the ability of the user to distinguish the different tasks.<br />
<br />
Install [http://aur.archlinux.org/packages.php?ID=29410 smooth-tasks] from the [[AUR]].<br />
<br />
After installing and substituting it with the original task-manager you should have a deep look at the settings since they are much broader.<br />
one way of using the features of smooth-tasks could be to only display the icons of tasks and move the panel to the left or right of the screen. This is most usefull on widescreens.<br />
On very small screens it could be reasonable to set the bottom-panel to auto-hide completely.<br />
For netbooks there exists a special form factor to make a better use of the screen:<br />
<br />
System-Settings -> Desktop -> Workspace -> Form factor<br />
<br />
=====KWin=====<br />
The windows decorations can also be resized by making the buttons in the decoration smaller thus making the whole top border smaller:<br />
System Settings -> Appearance -> Windows -> Button size<br />
You could also remove the side-border of all windows via:<br />
System Settings -> Appearance -> Windows -> Border size<br />
<br />
=== Networking/Printing ===<br />
<br />
NetworkManager support has been added in KDE 4.4 SC. See [[Networkmanager#KDE4|NetworkManager]] for more information.<br />
<br />
===Samba/Windows support===<br />
<br />
If you want to have access to Windows services:<br />
<br />
pacman -S samba<br />
<br />
You may then configure your Samba shares through <br />
<br />
System Settings > Advanced (Tab) > Samba<br />
<br />
===Printing support===<br />
<br />
{{Tip|Use the web frontend of CUPS for quicker configuration.}} Printers configured this way are available in KDE applications. <br />
<br />
You may also prefer the printer configuration through 'System Settings > Printer Configuration'. In order to use this, you need to first install kdeadmin-system-config-printer-kde and cups:<br />
pacman -S kdeadmin-system-config-printer-kde cups<br />
<br />
===Powersaving===<br />
<br />
Since v.4.2, KDE has integrated Powersaving service called "'''Powerdevil Power Management'''". You may need to configure powersaving, especially on notebooks and netbooks that need to have the CPU core default on '''powersaving''' options or the screen brightness set lower.<br />
<br />
Install cpufrequtils<br />
<br />
pacman -S cpufrequtils<br />
<br />
and make sure you have your CPU's cpufreq module loaded. For more information on this, visit [[Cpufreq|this article]].<br />
<br />
Then, in '''System Settings > Advanced (Tab) > Power Management''' configure the options the way you prefer.<br />
<br />
==Desktop Search and Semantic Desktop==<br />
Most users who freshly install KDE are wondering what functionality the following four pieces of software are able to offer. Most features are still somehow hidden under the hood and yet not many applications featured in the KDE SC are using these interfaces. This capter intends to first explain the features and then convince the user of the power these tools offer once properly integrated into KDE. The following sections are more or less a roughly shortened version of [[http://thomasmcguire.wordpress.com/2009/10/03/akonadi-nepomuk-and-strigi-explained/ this blogpost].<br />
<br />
===Soprano===<br />
Soprano is a library for QT that is able to process RDF data. This is semantic data. Semantic data is a special kind of metadata which is much more flexible than metadata you might know from MP3-Tags or Meta-Tags in HTML since RDF data more resembles the structure of a spoken sentence, thus allowing a much wider field of ways dealing with them. Soprano stores semantic data in a backend and allows low level access to this data.<br />
<br />
===Nepomuk===<br />
Nepomuk is somehow the glue between Soprano and the KDE Desktop and thus the user. Nepomuk allows to tag the files with various entries and offers an API for the applications featured in KDE SC. It is enabled by default. Nepomuk can be turned on and off in<br />
System Settings -> "Advanced" Tab -> Desktop Search<br />
<br />
===Akonadi===<br />
Akonadi is one of the ways of getting data into Nepomuk. Its intention is to gather all kinds of PIM data from KMail, KAdressbook or Kopete. It collects chat contacts, email adresses, email attachments and email contents. First of all it feeds Nepomuk with this data but moreover does also provide a centralized accesspoint for all this data.<br />
<br />
===Strigi Search===<br />
Strigi is another way of feeding data into Nepomuk. It preverably indexes the users home-folder. Indexing means that it not only gathers filenames but also information about your music collection or tagged downloads you did with Kget. The Strigi search is also integrated into KDEs launcher which can be accessed via:<br />
{{Keypress|Alt}} + {{Keypress|F2}}<br />
<br />
By default, Dolphin has a search bar on top-right where you may type what you want to be found from Strigi's index. <br />
<br />
{{Note | Strigi has implications for resource usage on your computer - CPU, memory, disk access, disk space, battery life. If Strigi is too resource-hungry for you, you can turn it off in "'''System Settings > Advanced > Desktop Search'''". }}<br />
<br />
Strigi folder indexing can be configured in:<br />
System Settings -> "Advanced" Tab -> Desktop Search<br />
<br />
==KDM (KDE Desktop Manager)==<br />
<br />
===KDM Xserver file===<br />
An example configuration for KDM can be found at '''/usr/share/config/kdm/kdmrc'''. See '''/usr/share/doc/HTML/en/kdm/kdmrc-ref.docbook''' for all options.<br />
<br />
===Configure KDM as root===<br />
<br />
You cannot configure KDM settings when launching System Settings as user. In order to do that, press<br />
<br />
{{Keypress|Alt}} + {{Keypress|F2}}<br />
<br />
and type<br />
<br />
kdesu systemsettings<br />
<br />
In the pop-up kdesu window, enter your root password and wait for System Settings to be launched.<br />
<br />
{{Note| Since you have launched it as root, be careful when changing your settings. All settings configuration in root-launched System Settings are saved under /root/.kde4 and not under ~/.kde4 (your home location).}}<br />
<br />
In the System Settings window, go to <br />
<br />
Advanced (Tab) > Login Manager<br />
<br />
==Phonon==<br />
<br />
===What is Phonon ?===<br />
<br />
''Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability.<br />
''<br />
<br />
from Wikipedia.<br />
<br />
===Which backend should I choose ?===<br />
<br />
KDE4 on Arch Linux has '''Gstreamer''' backend for Phonon. But there are more backends as well. You could use Xine ( [http://www.archlinux.org/packages/?q=phonon phonon-xine] ), Mplayer ( [http://aur.archlinux.org/packages.php?ID=26082 phonon-mplayer-svn] ) , or VLC ( [http://aur.archlinux.org/packages.php?ID=29113 phonon-vlc-svn] ).<br />
<br />
==Troubleshooting==<br />
<br />
===KHotkeys issue===<br />
<br />
Ιf '''khotkeys''' does not work, make sure you have a fully updated system first.<br />
<br />
You can also create ~/.kde4/Autostart/reloadkhotkeys.sh with contents <br />
#!/bin/bash<br />
(sleep 3 && qdbus org.kde.kded /modules/khotkeys reread_configuration) &<br />
and then do a<br />
chmod u+x ~/.kde4/Autostart/reloadkhotkeys.sh<br />
then logout & login.<br />
<br />
===Enabling thumbnails under Konqueror and Dolphin file managers===<br />
<br />
For thumbnails of videos in konqueror and dolphin:<br />
<br />
pacman -S kdemultimedia-mplayerthumbs<br />
<br />
===I encounter problems with automounting (or) KDE behaves strangely for no apparent reason===<br />
Since the new X-Server 1.8 arrived in the stable repos some users got the impression that HAL (Hardware Abstraction Layer) might not be needed anymore at all. But for a fully functional KDE-Desktop it is neccessary to run hal:<br />
/etc/rc.d/hal start<br />
For ease of use you should add it to your daemons list in ''/etc/rc.conf'':<br />
DAEMONS=( .. @hal ..)<br />
It is no problem to start HAL in the background to shave some time of boot.<br />
<br />
If you are using udev to automatically mount your drives with an udev-rule without running hal you should take note of the fact that these mounted drives will '''not''' be recognized by KDE. So no entry of this device will show up in Dolphin and Device Notifier won't notify you either.<br />
<br />
=== Suspend to Disk/Ram not working ===<br />
<br />
If suspend to disk/ram does not work the be sure hal is running, also make sure you are in the power group (remember to logout)<br />
<br />
Also, if you are starting KDE with startx try adding ck-launch-session to the .xinitrc,<br />
as so:<br />
<br />
#!/bin/sh<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
# exec gnome-session<br />
exec ck-launch-session startkde<br />
# exec startxfce4<br />
# ...or the Window Manager of your choice<br />
<br />
This is done automatically with kdm.<br />
<br />
=== Graphics' related issues ===<br />
<br />
==== Low 2D desktop performance (or) Artifacts appear when on 2D ====<br />
<br />
Make sure you have the proper driver for your card installed, so that your desktop is at least 2D accelerated. Follow these articles for more information: [[ATI]], [[NVIDIA]], [[Intel]] for more information, in order to make sure that everything is all right.<br />
The open source ATI and Intel drivers and the proprietary Nvidia driver should provide the best 2D acceleration.<br />
<br />
==== Konsole is slow in applications like vim ====<br />
This is a problem that is caused by slow glyph rendering. You can solve this by switching to a scalable font like Bitstream Vera Sans Mono.<br />
<br />
==== Low 3D desktop performance====<br />
KDE begins with desktop effects enabled. Older cards may be insufficient for 3D desktop acceleration. You can disable desktop effects in <br />
System Settings > Desktop <br />
or you can toggle desktop effects with <br />
{{Keypress|Alt}} + {{Keypress|Shift}} + {{Keypress|F12}}<br />
<br />
{{Note| You may encounter such problems with 3D desktop performance even when using a more powerful graphics card, but using catalyst proprietary driver (fglrx). This driver is known for having issues with 3D acceleration. Visit [[ATI|the ATi Wiki page]] for more troubleshooting.}}<br />
<br />
===Sound problems under KDE===<br />
====ALSA related problems====<br />
<br />
{{Note| First make sure you have '''alsa-lib''' and '''alsa-utils''' installed.}}<br />
<br />
====="Falling back to default" messages when trying to listen to any sound in KDE=====<br />
<br />
When you encounter such messages:<br />
<br />
:The audio playback device ''<name-of-the-sound-device>'' does not work.<br />
:Falling back to default<br />
<br />
Go to<br />
<br />
System Settings > Multimedia<br />
<br />
and set the device named "'''default'''" above all the other devices in each box you see.<br />
<br />
=====I cannot play mp3 files when having Gstreamer backend in Qt Phonon=====<br />
<br />
That can be solved by installing gstreamer0.10-plugins<br />
<br />
pacman -S gstreamer0.10-plugins<br />
<br />
You can also change the backend used by Phonon, by installing the phonon-xine<br />
<br />
pacman -S phonon-xine<br />
<br />
if you encounter problems that are not solved after installing gstreamer plugins. Then choose Xine in<br />
<br />
System Settings > Multimedia > Backend (tab)<br />
<br />
(it may have been autoselected after installing phonon-xine)<br />
<br />
=====Amarok "waits" before playing any track=====<br />
<br />
If you have encountered this error, the problem is backend specific. In order to solve this problem, change Amarok's backend from '''gstreamer''' to '''xine'''.<br />
<br />
====OSS4 related problems====<br />
<br />
If you have OSS4 installed and encounter any problems you should be aware that developers of Kmix are still integrating OSSv4 support. There is an [http://aur.archlinux.org/packages.php?ID=29286 AUR package] that is still experimental.<br />
Arch uses phonon with the Gstreamer backend that should work for most applications. Alternately you could try [[KDE#I_can.27t_play_mp3_files_when_having_Gstreamer_backend_in_Qt_Phonon|phonon with Xine]].<br />
<br />
=== Arch linux specific packaging issues ===<br />
<br />
Due to some changes on the packages or pacman problems, there could be some problems during upgrading. Please read the sections below, if you have a problem.<br />
<br />
===I wanted a minimal installation of KDE. After I installed some packages and logged in KDE, there are no panels===<br />
<br />
If you wanted a minimal installation of KDE, logged in, heard the login sound but nothing else happened, you may not have installed the Plasma binaries. These are included in<br />
<br />
kdebase-workspace<br />
<br />
Install this package and restart Xorg.<br />
<br />
===I want a fresh installation of KDE for my system. What should I do ?===<br />
Just rename the settings directory of KDE (just in case you'll need a backup later):<br />
mv ~/.kde4 ~/.kde4-backup<br />
<br />
===Plasma desktop behaves strangely but I do not know what to do===<br />
Plasma issues are caused mainly by unstable '''plasmoids''' or '''plasma themes'''. First, find which was the last plasmoid or plasma theme you had installed and disable it or even remove it.<br />
If you cannot find the problem, but you do not want all the KDE settings to be lost, do:<br />
rm -r ~/.kde4/share/config/plasma*<br />
This command will '''delete all plasma related configs''' of your user and when you will relogin into KDE, you will have the '''default''' settings back.<br />
<br />
===I encounter a serious lag with bitmap fonts on Konsole===<br />
<br />
That's an issue reported while using KDE 4.x and Nvidia proprietary driver. It's about to be fixed in future Nvidia driver release.<br />
<br />
==Other KDE projects==<br />
===The Chakra Project===<br />
<br />
====Split KDE packages====<br />
[http://chakra-project.org/ The Chakra Project] is a community-based modular version of KDE 4 and Live CD project, which includes a number of UI enhancements for KDE 4.x. Visit [http://chakra-project.org/wiki/index.php/Main_Page the Chakra Project Wiki main page] for more information.<br />
<br />
====Chakra Project Arch Live CD====<br />
<br />
The Chakra Project also provides a full featured Live CD, which has the latest stable KDEmod4 packages included.<br />
You may visit [http://chakra-project.org/download-iso.html the Chakra Project Live CD webpage] in order to find more information.<br />
<br />
====Passing from KDEmod to [extra]'s KDE====<br />
<br />
{{Note|You do have instructions for passing from '''[extra]''''s KDE4 to KDEmod4 [http://chakra-project.org/download-kdemod.html here]. }}<br />
<br />
Both flavours of KDE provide the same Desktop Environment, so if you install the one or the other, in the same upstream version, there should not be any problem regarding plasmoids, themes, styles or any KDE related application.<br />
<br />
So, if you want, for any reason, to pass from KDEmod to '''[extra]''''s KDE, do:<br />
<br />
pacman -Rd kdemod<br />
<br />
OR<br />
<br />
pacman -Rd kdemod-uninstall<br />
<br />
and it should be removed, but with the '''-d''' argument, the KDE dependent packages '''are not''' uninstalled, but only the Desktop Environment. But, if you want to '''completelly''' remove any KDEmod specific application/plasmoid/style etc too, do<br />
<br />
pacman -Rcns kdemod<br />
<br />
and then make sure that everything has been uninstalled:<br />
<br />
pacman -Q | grep kde<br />
<br />
{{Note| If you want to use the same KDE specific settings from the previous KDEmod installation, move or rename ~/'''.kdemod4''' to ~/'''.kde4''' }}<br />
<br />
After this, you may have KDEmod uninstalled.<br />
<br />
Then, follow [[KDE#Installing_KDE_4.4|this]].<br />
<br />
===KDE unstable===<br />
====KDE svn====<br />
If you want to install an unstable KDE version, visit [http://bbs.archlinux.org/viewtopic.php?id=76245 this thread] and follow the instructions there.<br />
It is currently '''active''' and on its way to KDE SC 4.5.<br />
<br />
====KDE unstable (snapshot)====<br />
Every new upstream snapshot of KDE starting with Beta releases is provided in binary form in the following half official repository:<br />
You may try the packages by adding:<br />
[kde-unstable]<br />
Include = /etc/pacman.d/mirrorlist<br />
in '''{{Filename|/etc/pacman.conf}}'''<br />
Be aware that except very late development snapshots KDE tends to be '''very''' unstable. But this massively depends on your choice of software and configuration before upgrading.<br />
<br />
The packages stay there there until KDE is declared stable and passes to [extra].<br />
Make sure [http://wiki.archlinux.org/index.php/KDE#Distro_and_Upstream_bug_report you make bug reports] if you find any issues.<br />
Read [http://wiki.archlinux.org/index.php/DeveloperWiki:KDE#Users this section] in the wiki as well.<br />
<br />
====KDEmod testing/unstable====<br />
You may visit [http://chakra-project.org/repos.html this webpage] and see which repos can you add in''' pacman.conf''' in order to test the KDEmod unstable packages.<br />
<br />
===KDE Legacy===<br />
For those people who decide that KDE 4 is still not yet "ready" for them, there is a website about how to downgrade to a version of KDE 3.5 called '''kdemod3''':<br />
* [http://chakra-project.org/download-kdemod3.html KDEmod3]<br />
<br />
'''Warning''': There have been issues reported regarding Libjpeg7, that caused KDEmod3 to behave strangely. In order to solve that, install [http://aur.archlinux.org/packages.php?ID=28427 libjpeg6] [http://aur.archlinux.org/packages.php?ID=33795 libpng12 from AUR]. The libs '''libjpeg6''' and '''libpng12''' can be safely installed along side the current libraries. More info [http://chakra-project.org/bbs/viewtopic.php?id=1097 here]<br />
<br />
{{Warning| KDE 3 is no longer maintained and unsupported by the KDE developers. Use it on your own risk, regarding any bugs, performance issues or security risks.}}<br />
<br />
==Bugs==<br />
===Common bugs===<br />
If you think you found something that seems like bug, please see [[Common_Issues]] and regarding that: KDE 4 config files are usually located at <br />
<br />
~/.kde4/share/config/<br />
<br />
and for app-specific configs <br />
<br />
~/.kde4/share/apps/<br />
<br />
===Distro and Upstream bug report===<br />
It is preferrable that if you find a minor or serious bug, you should visit [http://bugs.archlinux.org the Arch Bug Tracker] or/and [http://bugs.kde.org KDE Bug Tracker] in order to report that. Make sure that you be clear on what you want to report.<br />
<br />
If you have any issue and you write about in on the Arch forums, first make sure that you have '''FULLY''' updated your system using a good sync mirror (check [https://www.archlinux.de/?page=MirrorStatus here]) or try '''reflector'''.<br />
<br />
==External Links==<br />
* [http://www.kde.org KDE Homepage]<br />
* [http://bugs.kde.org KDE Bug Tracker]<br />
* [http://bugs.archlinux.org Arch Linux Bug Tracker]<br />
* [http://websvn.kde.org KDE WebSVN]</div>SEMW