https://wiki.archlinux.org/api.php?action=feedcontributions&user=Kiike&feedformat=atomArchWiki - User contributions [en]2024-03-28T19:09:44ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=MediaWiki&diff=278414MediaWiki2013-10-11T18:42:57Z<p>Kiike: /* Nginx */ add restart instruction</p>
<hr />
<div>[[Category:Web Server]]<br />
{{Note| If you are using xampp, instead of [[LAMP]], there are different steps you need to take after installing. More info [https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_XAMPP#381 here] }}<br />
== Installation ==<br />
<br />
You need to have a web server installed, configured to be able to use {{Pkg|php}}. You can follow the [[LAMP]] guide for that purpose.<br />
<br />
[[Pacman|Install]] the {{pkg|php-gd}}, {{pkg|php-intl}}, {{pkg|php-xcache}} and {{pkg|mediawiki}}, all available from the [[official repositories]].<br />
<br />
Instead of {{pkg|mysql}} you can use sqlite (which requires {{pkg|php-sqlite}} and {{pkg|sqlite}}) or {{pkg|postgresql}}.<br />
<br />
{{Note|Since PHP 5.1.0, SQLite depends on PDO. You should uncomment the following line in your php.ini if you wish to use SQLite with Mediawiki: <br />
<br />
'''extension1&#61;pdo_sqlite.so'''}}<br />
<br />
==Configuration==<br />
<br />
The steps to achieve a working MediaWiki configuration involve editing the PHP settings and adding the MediaWiki configuration snippets.<br />
<br />
===PHP===<br />
First, adjust the {{ic|open_basedir}} in {{ic|/etc/php/php.ini}} to include the webapps directory (allows '''update.php''' to be run from the command line):<br />
{{hc|/etc/php/php.ini|<nowiki><br />
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/<br />
</nowiki>}}<br />
Then, still on {{ic|/etc/php/php.ini}}, look for the {{ic|Dynamic Extensions}} section and uncomment {{ic|1=;extension=gd.so}}, uncomment {{ic|1=;extension=intl.so}} and add {{ic|1=extension=xcache.so}}.<br />
<br />
Second, tweak the session handling or you might get a fatal error ({{ic|PHP Fatal error: session_start(): Failed to initialize storage module[...]}}) by finding the {{ic|session.save_path}} path. A good choice can be {{ic|/var/lib/php/sessions}} or {{ic|/tmp/}}.<br />
<br />
{{hc|/etc/php/php.ini|<nowiki><br />
session.save_path = "/var/lib/php/sessions"<br />
</nowiki>}}<br />
<br />
You will need to create the directory if it doesn't exist and then restrict its permissions:<br />
{{bc|# mkdir /var/lib/php/sessions/<br />
# chown http:http /var/lib/php/sessions<br />
# chmod go-rwx /var/lib/php/sessions}}<br />
<br />
=== Web server ===<br />
==== Apache ====<br />
Create {{ic|/etc/webapps/mediawiki/httpd-mediawiki.conf}} from the provided example {{ic|apache.example.conf}} in the same directory. Edit it to remove the {{ic|php_admin_value open_basedir}} line, which is already in {{ic|php.ini}}.<br />
<br />
*Add the following lines to {{ic|/etc/httpd/conf/httpd.conf}}<br />
{{bc|<br />
LoadModule php5_module modules/libphp5.so<br />
Include conf/extra/php5_module.conf<br />
Include /etc/webapps/mediawiki/httpd-mediawiki.conf<br />
}}<br />
<br />
* Adjust permissions in {{ic|/usr/share/webapps/mediawiki/.htaccess}}, e.g. to <br />
{{bc|allow from all}}<br />
<br />
[[Daemons|Restart]] the {{ic|httpd.service}} daemon.<br />
<br />
==== Nginx ====<br />
To get MediaWiki working with [[Nginx]], create the following file:<br />
<br />
{{hc|/etc/nginx/mediawiki.conf|<nowiki><br />
<br />
location / {<br />
index index.php;<br />
try_files $uri $uri/ @mediawiki;<br />
}<br />
location @mediawiki {<br />
rewrite ^/(.*)$ /index.php?title=$1&$args;<br />
}<br />
location ~ \.php5?$ {<br />
include fastcgi.conf;<br />
fastcgi_pass php;<br />
}<br />
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {<br />
try_files $uri /index.php;<br />
expires max;<br />
log_not_found off;<br />
}<br />
# Restrictions based on the .htaccess files<br />
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {<br />
deny all;<br />
}<br />
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {<br />
internal;<br />
}<br />
location ^~ /images/ {<br />
try_files $uri /index.php;<br />
}<br />
location ~ /\. {<br />
access_log off;<br />
log_not_found off; <br />
deny all;<br />
}<br />
</nowiki>}}<br />
Ensure that {{Pkg|php-fpm}} is installed, and in your {{ic|/etc/nginx/nginx.conf}} file, ensure that you have an {{ic|upstream}} directive named {{ic|php}}, similar to this one:<br />
<br />
{{hc|/etc/nginx/nginx.conf|<nowiki><br />
upstream php {<br />
server unix:/var/run/php-fpm/php-fpm.sock;<br />
}<br />
</nowiki>}}<br />
<br />
Include a server directive, similar to this<br />
<br />
{{hc|/etc/nginx/nginx.conf|<br />
server {<br />
listen 80;<br />
server_name mediawiki;<br />
root /usr/share/webapps/mediawiki;<br />
index index.php;<br />
charset utf-8;<br />
# For correct file uploads<br />
client_max_body_size 100m; # Equal or more than upload_max_filesize in /etc/php/php.ini<br />
client_body_timeout 60;<br />
include mediawiki.conf;<br />
<br />
}<br />
}}<br />
<br />
Finally, restart the {{ic|nginx.service}} daemon:<br />
{{bc|# systemctl restart nginx.service}}<br />
<br />
==== Lighttpd ====<br />
You should have [[Lighttpd]] installed and configured. "mod_alias" and "mod_rewrite" in server.modules array of lighttpd is required. Append to the lighttpd configuration file the following lines<br />
{{hc|/etc/lighttpd/lighttpd.conf|<nowiki><br />
alias.url += ("/mediawiki" => "/usr/share/webapps/mediawiki/")<br />
url.rewrite-once += (<br />
"^/mediawiki/wiki/upload/(.+)" => "/mediawiki/wiki/upload/$1",<br />
"^/mediawiki/wiki/$" => "/mediawiki/index.php",<br />
"^/mediawiki/wiki/([^?]*)(?:\?(.*))?" => "/mediawiki/index.php?title=$1&$2"<br />
)<br />
</nowiki>}}<br />
[[Daemons|Restart]] the {{ic|lighttpd.service}} daemon.<br />
<br />
=== LocalSettings.php ===<br />
Open the wiki url (is {{ic|http://''your_server''/mediawiki/}}) in a browser and do the initial setup to create {{ic|LocalSettings.php}}. Then save it to {{ic|/usr/share/webapps/mediawiki/LocalSettings.php}}.<br />
<br />
== Tips and tricks ==<br />
=== Mathematics (texvc) ===<br />
<br />
Usually installing {{Pkg|texvc}} and enabling it in the config are enough:<br />
<br />
{{bc|1=$wgUseTeX = true;}}<br />
<br />
If you get problems, try to increase limits for shell commands:<br />
{{bc|<nowiki><br />
$wgMaxShellMemory = 8000000;<br />
$wgMaxShellFileSize = 1000000;<br />
$wgMaxShellTime = 300;<br />
</nowiki>}}<br />
<br />
=== Unicode ===<br />
<br />
Check that php, apache and mysql uses UTF-8. Otherwise you may face strange bugs because of encoding mismatch.</div>Kiikehttps://wiki.archlinux.org/index.php?title=MediaWiki&diff=278413MediaWiki2013-10-11T18:41:43Z<p>Kiike: /* PHP */</p>
<hr />
<div>[[Category:Web Server]]<br />
{{Note| If you are using xampp, instead of [[LAMP]], there are different steps you need to take after installing. More info [https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_XAMPP#381 here] }}<br />
== Installation ==<br />
<br />
You need to have a web server installed, configured to be able to use {{Pkg|php}}. You can follow the [[LAMP]] guide for that purpose.<br />
<br />
[[Pacman|Install]] the {{pkg|php-gd}}, {{pkg|php-intl}}, {{pkg|php-xcache}} and {{pkg|mediawiki}}, all available from the [[official repositories]].<br />
<br />
Instead of {{pkg|mysql}} you can use sqlite (which requires {{pkg|php-sqlite}} and {{pkg|sqlite}}) or {{pkg|postgresql}}.<br />
<br />
{{Note|Since PHP 5.1.0, SQLite depends on PDO. You should uncomment the following line in your php.ini if you wish to use SQLite with Mediawiki: <br />
<br />
'''extension1&#61;pdo_sqlite.so'''}}<br />
<br />
==Configuration==<br />
<br />
The steps to achieve a working MediaWiki configuration involve editing the PHP settings and adding the MediaWiki configuration snippets.<br />
<br />
===PHP===<br />
First, adjust the {{ic|open_basedir}} in {{ic|/etc/php/php.ini}} to include the webapps directory (allows '''update.php''' to be run from the command line):<br />
{{hc|/etc/php/php.ini|<nowiki><br />
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/<br />
</nowiki>}}<br />
Then, still on {{ic|/etc/php/php.ini}}, look for the {{ic|Dynamic Extensions}} section and uncomment {{ic|1=;extension=gd.so}}, uncomment {{ic|1=;extension=intl.so}} and add {{ic|1=extension=xcache.so}}.<br />
<br />
Second, tweak the session handling or you might get a fatal error ({{ic|PHP Fatal error: session_start(): Failed to initialize storage module[...]}}) by finding the {{ic|session.save_path}} path. A good choice can be {{ic|/var/lib/php/sessions}} or {{ic|/tmp/}}.<br />
<br />
{{hc|/etc/php/php.ini|<nowiki><br />
session.save_path = "/var/lib/php/sessions"<br />
</nowiki>}}<br />
<br />
You will need to create the directory if it doesn't exist and then restrict its permissions:<br />
{{bc|# mkdir /var/lib/php/sessions/<br />
# chown http:http /var/lib/php/sessions<br />
# chmod go-rwx /var/lib/php/sessions}}<br />
<br />
=== Web server ===<br />
==== Apache ====<br />
Create {{ic|/etc/webapps/mediawiki/httpd-mediawiki.conf}} from the provided example {{ic|apache.example.conf}} in the same directory. Edit it to remove the {{ic|php_admin_value open_basedir}} line, which is already in {{ic|php.ini}}.<br />
<br />
*Add the following lines to {{ic|/etc/httpd/conf/httpd.conf}}<br />
{{bc|<br />
LoadModule php5_module modules/libphp5.so<br />
Include conf/extra/php5_module.conf<br />
Include /etc/webapps/mediawiki/httpd-mediawiki.conf<br />
}}<br />
<br />
* Adjust permissions in {{ic|/usr/share/webapps/mediawiki/.htaccess}}, e.g. to <br />
{{bc|allow from all}}<br />
<br />
[[Daemons|Restart]] the {{ic|httpd.service}} daemon.<br />
<br />
==== Nginx ====<br />
To get MediaWiki working with [[Nginx]], create the following file:<br />
<br />
{{hc|/etc/nginx/mediawiki.conf|<nowiki><br />
<br />
location / {<br />
index index.php;<br />
try_files $uri $uri/ @mediawiki;<br />
}<br />
location @mediawiki {<br />
rewrite ^/(.*)$ /index.php?title=$1&$args;<br />
}<br />
location ~ \.php5?$ {<br />
include fastcgi.conf;<br />
fastcgi_pass php;<br />
}<br />
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {<br />
try_files $uri /index.php;<br />
expires max;<br />
log_not_found off;<br />
}<br />
# Restrictions based on the .htaccess files<br />
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {<br />
deny all;<br />
}<br />
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {<br />
internal;<br />
}<br />
location ^~ /images/ {<br />
try_files $uri /index.php;<br />
}<br />
location ~ /\. {<br />
access_log off;<br />
log_not_found off; <br />
deny all;<br />
}<br />
</nowiki>}}<br />
Ensure that {{Pkg|php-fpm}} is installed, and in your {{ic|/etc/nginx/nginx.conf}} file, ensure that you have an {{ic|upstream}} directive named {{ic|php}}, similar to this one:<br />
<br />
{{hc|/etc/nginx/nginx.conf|<nowiki><br />
upstream php {<br />
server unix:/var/run/php-fpm/php-fpm.sock;<br />
}<br />
</nowiki>}}<br />
<br />
Include a server directive, similar to this<br />
<br />
{{hc|/etc/nginx/nginx.conf|<br />
server {<br />
listen 80;<br />
server_name mediawiki;<br />
root /usr/share/webapps/mediawiki;<br />
index index.php;<br />
charset utf-8;<br />
# For correct file uploads<br />
client_max_body_size 100m; # Equal or more than upload_max_filesize in /etc/php/php.ini<br />
client_body_timeout 60;<br />
include mediawiki.conf;<br />
<br />
}<br />
}}<br />
<br />
==== Lighttpd ====<br />
You should have [[Lighttpd]] installed and configured. "mod_alias" and "mod_rewrite" in server.modules array of lighttpd is required. Append to the lighttpd configuration file the following lines<br />
{{hc|/etc/lighttpd/lighttpd.conf|<nowiki><br />
alias.url += ("/mediawiki" => "/usr/share/webapps/mediawiki/")<br />
url.rewrite-once += (<br />
"^/mediawiki/wiki/upload/(.+)" => "/mediawiki/wiki/upload/$1",<br />
"^/mediawiki/wiki/$" => "/mediawiki/index.php",<br />
"^/mediawiki/wiki/([^?]*)(?:\?(.*))?" => "/mediawiki/index.php?title=$1&$2"<br />
)<br />
</nowiki>}}<br />
[[Daemons|Restart]] the {{ic|lighttpd.service}} daemon.<br />
<br />
=== LocalSettings.php ===<br />
Open the wiki url (is {{ic|http://''your_server''/mediawiki/}}) in a browser and do the initial setup to create {{ic|LocalSettings.php}}. Then save it to {{ic|/usr/share/webapps/mediawiki/LocalSettings.php}}.<br />
<br />
== Tips and tricks ==<br />
=== Mathematics (texvc) ===<br />
<br />
Usually installing {{Pkg|texvc}} and enabling it in the config are enough:<br />
<br />
{{bc|1=$wgUseTeX = true;}}<br />
<br />
If you get problems, try to increase limits for shell commands:<br />
{{bc|<nowiki><br />
$wgMaxShellMemory = 8000000;<br />
$wgMaxShellFileSize = 1000000;<br />
$wgMaxShellTime = 300;<br />
</nowiki>}}<br />
<br />
=== Unicode ===<br />
<br />
Check that php, apache and mysql uses UTF-8. Otherwise you may face strange bugs because of encoding mismatch.</div>Kiikehttps://wiki.archlinux.org/index.php?title=MediaWiki&diff=278412MediaWiki2013-10-11T18:41:19Z<p>Kiike: /* Configuration */ small intro and php header</p>
<hr />
<div>[[Category:Web Server]]<br />
{{Note| If you are using xampp, instead of [[LAMP]], there are different steps you need to take after installing. More info [https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_XAMPP#381 here] }}<br />
== Installation ==<br />
<br />
You need to have a web server installed, configured to be able to use {{Pkg|php}}. You can follow the [[LAMP]] guide for that purpose.<br />
<br />
[[Pacman|Install]] the {{pkg|php-gd}}, {{pkg|php-intl}}, {{pkg|php-xcache}} and {{pkg|mediawiki}}, all available from the [[official repositories]].<br />
<br />
Instead of {{pkg|mysql}} you can use sqlite (which requires {{pkg|php-sqlite}} and {{pkg|sqlite}}) or {{pkg|postgresql}}.<br />
<br />
{{Note|Since PHP 5.1.0, SQLite depends on PDO. You should uncomment the following line in your php.ini if you wish to use SQLite with Mediawiki: <br />
<br />
'''extension1&#61;pdo_sqlite.so'''}}<br />
<br />
==Configuration==<br />
<br />
The steps to achieve a working MediaWiki configuration involve editing the PHP settings and adding the MediaWiki configuration snippets.<br />
<br />
===PHP===<br />
First, adjust the {{ic|open_basedir}} in {{ic|/etc/php/php.ini}} to include the webapps directory (allows '''update.php''' to be run from the command line):<br />
{{hc|/etc/php/php.ini|<nowiki><br />
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/<br />
</nowiki>}}<br />
Then, still on {{ic|/etc/php/php.ini}}, look for the {{ic|Dynamic Extensions}} section and uncomment {{ic|1=;extension=gd.so}}, uncomment {{ic|1=;extension=intl.so}} and add {{ic|1=extension=xcache.so}}.<br />
<br />
Second, tweak the session handling or you might get a fatal error ({{ic|PHP Fatal error: session_start(): Failed to initialize storage module[...]}}) by finding the {{ic|session.save_path}} path. A good choice can be {{ic|/var/lib/php/sessions}} or {{ic|/tmp/}}.<br />
<br />
{{hc|/etc/php/php.ini|<nowiki><br />
session.save_path = "/var/lib/php/sessions"<br />
</nowiki>}}<br />
<br />
You will need to create the directory if it doesn't exist and then restrict its permissions:<br />
{{bc|# mkdir /var/lib/php/sessions/<br />
# chown http:http /var/lib/php/sessions<br />
# chmod go-rwx /var/lib/php/sessions}}<br />
<br />
<br />
<br />
Now do the steps corresponding to your web server.<br />
=== Web server ===<br />
==== Apache ====<br />
Create {{ic|/etc/webapps/mediawiki/httpd-mediawiki.conf}} from the provided example {{ic|apache.example.conf}} in the same directory. Edit it to remove the {{ic|php_admin_value open_basedir}} line, which is already in {{ic|php.ini}}.<br />
<br />
*Add the following lines to {{ic|/etc/httpd/conf/httpd.conf}}<br />
{{bc|<br />
LoadModule php5_module modules/libphp5.so<br />
Include conf/extra/php5_module.conf<br />
Include /etc/webapps/mediawiki/httpd-mediawiki.conf<br />
}}<br />
<br />
* Adjust permissions in {{ic|/usr/share/webapps/mediawiki/.htaccess}}, e.g. to <br />
{{bc|allow from all}}<br />
<br />
[[Daemons|Restart]] the {{ic|httpd.service}} daemon.<br />
<br />
==== Nginx ====<br />
To get MediaWiki working with [[Nginx]], create the following file:<br />
<br />
{{hc|/etc/nginx/mediawiki.conf|<nowiki><br />
<br />
location / {<br />
index index.php;<br />
try_files $uri $uri/ @mediawiki;<br />
}<br />
location @mediawiki {<br />
rewrite ^/(.*)$ /index.php?title=$1&$args;<br />
}<br />
location ~ \.php5?$ {<br />
include fastcgi.conf;<br />
fastcgi_pass php;<br />
}<br />
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {<br />
try_files $uri /index.php;<br />
expires max;<br />
log_not_found off;<br />
}<br />
# Restrictions based on the .htaccess files<br />
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {<br />
deny all;<br />
}<br />
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {<br />
internal;<br />
}<br />
location ^~ /images/ {<br />
try_files $uri /index.php;<br />
}<br />
location ~ /\. {<br />
access_log off;<br />
log_not_found off; <br />
deny all;<br />
}<br />
</nowiki>}}<br />
Ensure that {{Pkg|php-fpm}} is installed, and in your {{ic|/etc/nginx/nginx.conf}} file, ensure that you have an {{ic|upstream}} directive named {{ic|php}}, similar to this one:<br />
<br />
{{hc|/etc/nginx/nginx.conf|<nowiki><br />
upstream php {<br />
server unix:/var/run/php-fpm/php-fpm.sock;<br />
}<br />
</nowiki>}}<br />
<br />
Include a server directive, similar to this<br />
<br />
{{hc|/etc/nginx/nginx.conf|<br />
server {<br />
listen 80;<br />
server_name mediawiki;<br />
root /usr/share/webapps/mediawiki;<br />
index index.php;<br />
charset utf-8;<br />
# For correct file uploads<br />
client_max_body_size 100m; # Equal or more than upload_max_filesize in /etc/php/php.ini<br />
client_body_timeout 60;<br />
include mediawiki.conf;<br />
<br />
}<br />
}}<br />
<br />
==== Lighttpd ====<br />
You should have [[Lighttpd]] installed and configured. "mod_alias" and "mod_rewrite" in server.modules array of lighttpd is required. Append to the lighttpd configuration file the following lines<br />
{{hc|/etc/lighttpd/lighttpd.conf|<nowiki><br />
alias.url += ("/mediawiki" => "/usr/share/webapps/mediawiki/")<br />
url.rewrite-once += (<br />
"^/mediawiki/wiki/upload/(.+)" => "/mediawiki/wiki/upload/$1",<br />
"^/mediawiki/wiki/$" => "/mediawiki/index.php",<br />
"^/mediawiki/wiki/([^?]*)(?:\?(.*))?" => "/mediawiki/index.php?title=$1&$2"<br />
)<br />
</nowiki>}}<br />
[[Daemons|Restart]] the {{ic|lighttpd.service}} daemon.<br />
<br />
=== LocalSettings.php ===<br />
Open the wiki url (is {{ic|http://''your_server''/mediawiki/}}) in a browser and do the initial setup to create {{ic|LocalSettings.php}}. Then save it to {{ic|/usr/share/webapps/mediawiki/LocalSettings.php}}.<br />
<br />
== Tips and tricks ==<br />
=== Mathematics (texvc) ===<br />
<br />
Usually installing {{Pkg|texvc}} and enabling it in the config are enough:<br />
<br />
{{bc|1=$wgUseTeX = true;}}<br />
<br />
If you get problems, try to increase limits for shell commands:<br />
{{bc|<nowiki><br />
$wgMaxShellMemory = 8000000;<br />
$wgMaxShellFileSize = 1000000;<br />
$wgMaxShellTime = 300;<br />
</nowiki>}}<br />
<br />
=== Unicode ===<br />
<br />
Check that php, apache and mysql uses UTF-8. Otherwise you may face strange bugs because of encoding mismatch.</div>Kiikehttps://wiki.archlinux.org/index.php?title=MediaWiki&diff=278411MediaWiki2013-10-11T18:38:20Z<p>Kiike: /* Configuration */ add session handling info to php.ini</p>
<hr />
<div>[[Category:Web Server]]<br />
{{Note| If you are using xampp, instead of [[LAMP]], there are different steps you need to take after installing. More info [https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_XAMPP#381 here] }}<br />
== Installation ==<br />
<br />
You need to have a web server installed, configured to be able to use {{Pkg|php}}. You can follow the [[LAMP]] guide for that purpose.<br />
<br />
[[Pacman|Install]] the {{pkg|php-gd}}, {{pkg|php-intl}}, {{pkg|php-xcache}} and {{pkg|mediawiki}}, all available from the [[official repositories]].<br />
<br />
Instead of {{pkg|mysql}} you can use sqlite (which requires {{pkg|php-sqlite}} and {{pkg|sqlite}}) or {{pkg|postgresql}}.<br />
<br />
{{Note|Since PHP 5.1.0, SQLite depends on PDO. You should uncomment the following line in your php.ini if you wish to use SQLite with Mediawiki: <br />
<br />
'''extension1&#61;pdo_sqlite.so'''}}<br />
<br />
==Configuration==<br />
First, adjust the {{ic|open_basedir}} in {{ic|/etc/php/php.ini}} to include the webapps directory (allows '''update.php''' to be run from the command line):<br />
{{hc|/etc/php/php.ini|<nowiki><br />
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/<br />
</nowiki>}}<br />
Then, still on {{ic|/etc/php/php.ini}}, look for the {{ic|Dynamic Extensions}} section and uncomment {{ic|1=;extension=gd.so}}, uncomment {{ic|1=;extension=intl.so}} and add {{ic|1=extension=xcache.so}}.<br />
<br />
Second, tweak the session handling or you might get a fatal error ({{ic|PHP Fatal error: session_start(): Failed to initialize storage module[...]}}) by finding the {{ic|session.save_path}} path. A good choice can be {{ic|/var/lib/php/sessions}} or {{ic|/tmp/}}.<br />
<br />
{{hc|/etc/php/php.ini|<nowiki><br />
session.save_path = "/var/lib/php/sessions"<br />
</nowiki>}}<br />
<br />
You will need to create the directory if it doesn't exist and then restrict its permissions:<br />
{{bc|# mkdir /var/lib/php/sessions/<br />
# chown http:http /var/lib/php/sessions<br />
# chmod go-rwx /var/lib/php/sessions}}<br />
<br />
<br />
<br />
Now do the steps corresponding to your web server.<br />
=== Web server ===<br />
==== Apache ====<br />
Create {{ic|/etc/webapps/mediawiki/httpd-mediawiki.conf}} from the provided example {{ic|apache.example.conf}} in the same directory. Edit it to remove the {{ic|php_admin_value open_basedir}} line, which is already in {{ic|php.ini}}.<br />
<br />
*Add the following lines to {{ic|/etc/httpd/conf/httpd.conf}}<br />
{{bc|<br />
LoadModule php5_module modules/libphp5.so<br />
Include conf/extra/php5_module.conf<br />
Include /etc/webapps/mediawiki/httpd-mediawiki.conf<br />
}}<br />
<br />
* Adjust permissions in {{ic|/usr/share/webapps/mediawiki/.htaccess}}, e.g. to <br />
{{bc|allow from all}}<br />
<br />
[[Daemons|Restart]] the {{ic|httpd.service}} daemon.<br />
<br />
==== Nginx ====<br />
To get MediaWiki working with [[Nginx]], create the following file:<br />
<br />
{{hc|/etc/nginx/mediawiki.conf|<nowiki><br />
<br />
location / {<br />
index index.php;<br />
try_files $uri $uri/ @mediawiki;<br />
}<br />
location @mediawiki {<br />
rewrite ^/(.*)$ /index.php?title=$1&$args;<br />
}<br />
location ~ \.php5?$ {<br />
include fastcgi.conf;<br />
fastcgi_pass php;<br />
}<br />
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {<br />
try_files $uri /index.php;<br />
expires max;<br />
log_not_found off;<br />
}<br />
# Restrictions based on the .htaccess files<br />
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {<br />
deny all;<br />
}<br />
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {<br />
internal;<br />
}<br />
location ^~ /images/ {<br />
try_files $uri /index.php;<br />
}<br />
location ~ /\. {<br />
access_log off;<br />
log_not_found off; <br />
deny all;<br />
}<br />
</nowiki>}}<br />
Ensure that {{Pkg|php-fpm}} is installed, and in your {{ic|/etc/nginx/nginx.conf}} file, ensure that you have an {{ic|upstream}} directive named {{ic|php}}, similar to this one:<br />
<br />
{{hc|/etc/nginx/nginx.conf|<nowiki><br />
upstream php {<br />
server unix:/var/run/php-fpm/php-fpm.sock;<br />
}<br />
</nowiki>}}<br />
<br />
Include a server directive, similar to this<br />
<br />
{{hc|/etc/nginx/nginx.conf|<br />
server {<br />
listen 80;<br />
server_name mediawiki;<br />
root /usr/share/webapps/mediawiki;<br />
index index.php;<br />
charset utf-8;<br />
# For correct file uploads<br />
client_max_body_size 100m; # Equal or more than upload_max_filesize in /etc/php/php.ini<br />
client_body_timeout 60;<br />
include mediawiki.conf;<br />
<br />
}<br />
}}<br />
<br />
==== Lighttpd ====<br />
You should have [[Lighttpd]] installed and configured. "mod_alias" and "mod_rewrite" in server.modules array of lighttpd is required. Append to the lighttpd configuration file the following lines<br />
{{hc|/etc/lighttpd/lighttpd.conf|<nowiki><br />
alias.url += ("/mediawiki" => "/usr/share/webapps/mediawiki/")<br />
url.rewrite-once += (<br />
"^/mediawiki/wiki/upload/(.+)" => "/mediawiki/wiki/upload/$1",<br />
"^/mediawiki/wiki/$" => "/mediawiki/index.php",<br />
"^/mediawiki/wiki/([^?]*)(?:\?(.*))?" => "/mediawiki/index.php?title=$1&$2"<br />
)<br />
</nowiki>}}<br />
[[Daemons|Restart]] the {{ic|lighttpd.service}} daemon.<br />
<br />
=== LocalSettings.php ===<br />
Open the wiki url (is {{ic|http://''your_server''/mediawiki/}}) in a browser and do the initial setup to create {{ic|LocalSettings.php}}. Then save it to {{ic|/usr/share/webapps/mediawiki/LocalSettings.php}}.<br />
<br />
== Tips and tricks ==<br />
=== Mathematics (texvc) ===<br />
<br />
Usually installing {{Pkg|texvc}} and enabling it in the config are enough:<br />
<br />
{{bc|1=$wgUseTeX = true;}}<br />
<br />
If you get problems, try to increase limits for shell commands:<br />
{{bc|<nowiki><br />
$wgMaxShellMemory = 8000000;<br />
$wgMaxShellFileSize = 1000000;<br />
$wgMaxShellTime = 300;<br />
</nowiki>}}<br />
<br />
=== Unicode ===<br />
<br />
Check that php, apache and mysql uses UTF-8. Otherwise you may face strange bugs because of encoding mismatch.</div>Kiikehttps://wiki.archlinux.org/index.php?title=User:Kiike&diff=245784User:Kiike2013-01-31T21:24:08Z<p>Kiike: Init</p>
<hr />
<div>{{hc|Long time Arch user.|<br />
IRC Nickname: enr1x<br />
BBS Username: enr1x<br />
Previous projects: Arch Linux PPC}}</div>Kiikehttps://wiki.archlinux.org/index.php?title=Xorg&diff=245782Xorg2013-01-31T21:11:26Z<p>Kiike: /* Tips and tricks */ Adding on-demand disabling and enabling of input devices.</p>
<hr />
<div>[[Category:X Server]]<br />
[[cs:Xorg]]<br />
[[da:Xorg]]<br />
[[de:X]]<br />
[[el:Xorg]]<br />
[[es:Xorg]]<br />
[[fr:Xorg]]<br />
[[it:Xorg]]<br />
[[nl:Xorg]]<br />
[[pl:Xorg]]<br />
[[pt:Xorg]]<br />
[[ro:Xorg]]<br />
[[ru:Xorg]]<br />
[[tr:X_Sunucusu]]<br />
[[zh-CN:Xorg]]<br />
[[zh-TW:Xorg]]<br />
{{Article summary start}}<br />
{{Article summary text|An all-inclusive overview about installing and managing Xorg}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Start X at Login}}<br />
{{Article summary wiki|Execute commands after X start}}<br />
{{Article summary wiki|Login Manager}}<br />
{{Article summary wiki|Window Manager}}<br />
{{Article summary wiki|Font Configuration}}<br />
{{Article summary wiki|X11 Cursors}}<br />
{{Article summary wiki|Get All Mouse Buttons Working}}<br />
{{Article summary wiki|Desktop Environment}}<br />
{{Article summary wiki|Wayland}}<br />
{{Article summary heading|Free Video Drivers}}<br />
{{Article summary wiki|Intel Graphics}}<br />
{{Article summary wiki|ATI}}<br />
{{Article summary wiki|Nouveau}}<br />
{{Article summary heading|Proprietary Video Drivers}}<br />
{{Article summary wiki|AMD Catalyst}}<br />
{{Article summary wiki|NVIDIA}}<br />
{{Article summary end}}<br />
<br />
'''Xorg''' is the public, open-source implementation of the X window system version 11. Since Xorg is the most popular choice among Linux users, its ubiquity has led to making it an ever-present requisite for GUI applications, resulting in massive adoption from most distributions. See the [[Wikipedia:X.Org Server|Xorg]] Wikipedia article or visit the [http://www.x.org/wiki/ Xorg website] for more details.<br />
<br />
==Installation==<br />
First, you will need to [[pacman|install]] the X server with the package {{Pkg|xorg-server}}, available in the [[Official Repositories]]. You may also want the useful utilities contained in the {{Grp|xorg-apps}} group.<br />
<br />
[[Udev]] will detect your hardware and [[Wikipedia:evdev|evdev]] will act as the hotplugging input driver for almost all devices. [[Udev]] is provided by {{Pkg|systemd}} and {{Pkg| xf86-input-evdev}} is required by {{Pkg|xorg-server}}, so there is no need to explicitly install those packages.<br />
<br />
{{Tip|The default X environment is rather bare, and you will typically seek to install a [[Window Manager|window manager]] or a [[Desktop Environment|desktop environment]] to supplement X.}}<br />
<br />
==Running==<br />
''See also: [[Start X at Login]]''<br />
<br />
{{Tip|The easiest way to start X is by using a [[Display Manager|display manager]] such as [[GDM]], [[KDM]] or [[SLiM]].}}<br />
<br />
If you want to start X without a display manager, install the package {{Pkg|xorg-xinit}}. Optionally, the packages {{Pkg|xorg-twm}}, {{Pkg|xorg-xclock}} and {{Pkg|xterm}} allows for a default environment, as described below.<br />
<br />
The {{ic|startx}} and {{ic|xinit}} commands will start the X server and clients (the {{ic|startx}} script is merely a front end to the {{ic|xinit}} command). To determine the client to run, {{ic|startx}}/{{ic|xinit}} will first look to parse a {{ic|~/.xinitrc}} file in the user's home directory. In the absence of {{ic|~/.xinitrc}}, it defaults to the global file {{ic|/etc/X11/xinit/xinitrc}}, which defaults to starting a basic environment with the [[Twm]] window manager, [[Wikipedia:Xclock|Xclock]] and [[Xterm]].<br />
<br />
{{Note|X must always be run on the same tty where the login occurred, to preserve the logind session. This is handled by the default {{ic|/etc/X11/xinit/xserverrc}}.}}<br />
<br />
{{Warning|If you choose to use {{ic|xinit}} instead of {{ic|startx}}, you are responsible for passing {{ic|-nolisten tcp}} and ensuring the session does not break by starting X on a different tty.}}<br />
<br />
For more information, see [[xinitrc]].<br />
<br />
{{Note|<br />
* If a problem occurs, then view the log at {{ic|/var/log/Xorg.0.log}}. Be on the lookout for any lines beginning with {{ic|(EE)}}, which represent errors, and also {{ic|(WW)}}, which are warnings that could indicate other issues.<br />
* If there is an ''empty'' {{ic|.xinitrc}} file in your {{ic|$HOME}}, either delete or [[xinitrc|edit it]] in order for X to start properly. If you do not do this X will show a blank screen with what appears to be no errors in your {{ic|Xorg.0.log}}. Simply deleting it will get it running with a default X environment.}}<br />
<br />
== Configuration ==<br />
{{Note|Arch supplies default configuration files in {{ic|/etc/X11/xorg.conf.d}}, and no extra configuration is necessary for most setups.}}<br />
<br />
=== Using split files ===<br />
The {{ic|/etc/X11/xorg.conf.d/}} directory stores user-specific configuration. You are free to add configuration files to {{ic|/etc/X11/xorg.conf.d/}}, but they must start with {{ic|XX-}} (where XX is a number) and have a {{ic|.conf}} suffix (10 is read before 20, for example). These files are parsed by the X server upon startup and are treated like part of the traditional xorg.conf configuration file. The X server essentially treats the collection of configuration files as one big file with entries from xorg.conf at the end.<br />
<br />
=== Using single file ===<br />
Xorg can also be configured via {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/xorg.conf}}. You can also generate skeleton for the xorg.conf by<br />
# Xorg :0 -configure<br />
<br />
That should create an {{ic|xorg.conf.new}} file in {{ic|/root/}} that you can copy over to {{ic|/etc/X11/xorg.conf}} for more information see {{ic|man xorg.conf}} <br />
<br />
Alternatively, your video card drivers may come with a tool to automatically configure Xorg. In the case of NVIDIA, try nvidia-xconfig. For ATI with the proprietary driver, try aticonfig.<br />
<br />
{{Note| Config file keywords are case-insensitive, and “_” characters are ignored. Most strings (including Option names) are also case-insensitive, and insensitive to white space and “_” characters.}}<br />
<br />
==Input devices==<br />
Installing input drivers is not needed for most hardware. Nevertheless, if evdev does not support your device, install the needed driver from the {{Grp|xorg-drivers}} group (try {{ic|pacman -Sg xorg-drivers}} for a listing).<br />
<br />
You should have {{ic|10-evdev.conf}} in the {{ic|/etc/X11/xorg.conf.d}} directory, which manages the keyboard, the mouse, the touchpad and the touchscreen.<br />
<br />
===Touchpad Synaptics===<br />
''Main page: [[Touchpad Synaptics]]''<br />
<br />
If you have a laptop, you need to [[pacman|install]] the touchpad driver provided by the {{Pkg|xf86-input-synaptics}} package in the [[Official Repositories]].<br />
<br />
After installation, you can find {{ic|10-synaptics.conf}} in the {{ic|/etc/X11/xorg.conf.d}} directory. It is safe to comment out/delete the {{ic|InputClass}} line regarding the touchpad in {{ic|10-evdev.conf}}.<br />
<br />
===Disabling input hot-plugging===<br />
Since version''' 1.8''' Xorg-server uses udev for device detection. The following will disable the use of udev.<br />
<br />
Section "ServerFlags"<br />
Option "AutoAddDevices" "False"<br />
EndSection<br />
{{Warning|This will disable Xorg hot-plugging for '''all''' input devices and revert to the same behavior as xorg-server 1.4. It is much more convenient to let udev configure your devices. '''Therefore, disabling hot-plugging is not recommended!'''}}<br />
<br />
===Keyboard settings===<br />
<br />
Xorg may fail to detect your keyboard correctly. This might give problems with your keyboard layout or keyboard model not being set correctly.<br />
<br />
To see a full list of keyboard models, layouts, variants and options, open {{ic|/usr/share/X11/xkb/rules/xorg.lst}}.<br />
<br />
To set the keymap for the current Xorg session:<br />
# setxkbmap dvorak<br />
<br />
====Key repeat delay and rate====<br />
<br />
Use {{ic|xset r rate DELAY RATE}} to change them, then use [[xinitrc]] to make it permanent.<br />
<br />
====Viewing keyboard settings====<br />
{{hc|$ setxkbmap -print -verbose 10|<nowiki><br />
<br />
Setting verbose level to 10<br />
locale is C<br />
Applied rules from evdev:<br />
model: evdev<br />
layout: us<br />
options: terminate:ctrl_alt_bksp<br />
Trying to build keymap using the following components:<br />
keycodes: evdev+aliases(qwerty)<br />
types: complete<br />
compat: complete<br />
symbols: pc+us+inet(evdev)+terminate(ctrl_alt_bksp)<br />
geometry: pc(pc104)<br />
xkb_keymap {<br />
xkb_keycodes { include "evdev+aliases(qwerty)" };<br />
xkb_types { include "complete" };<br />
xkb_compat { include "complete" };<br />
xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)" };<br />
xkb_geometry { include "pc(pc104)" };<br />
};<br />
</nowiki>}}<br />
====Setting keyboard layout with hot-plugging====<br />
{{Note|If you use [[GNOME]], these settings will be ignored. You will have to set the keyboard layout from the GNOME Keyboard applet. Follow the Keyboard Layout link and add the layout you require and remove any you do not. For XkbOptions, see [[GNOME#Modify_Keyboard_with_XkbOptions]].}}<br />
<br />
To change your keyboard layout, create a {{ic|''number''-*.conf}} file (e.g. {{ic|10-keyboard.conf}}) with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/10-keyboard.conf|<br />
Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "us"<br />
Option "XkbVariant" "colemak"<br />
EndSection}}<br />
<br />
Alternatively, you can also combine {{ic|XkbLayout}} and {{ic|XkbVariant}}:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/10-keyboard.conf|<br />
Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "us(colemak)"<br />
EndSection}}<br />
<br />
====Setting keyboard layout without hot-plugging (deprecated)====<br />
{{Note|Changing the keyboard layout through this method requires disabling input hot-plugging.}}<br />
<br />
To change the keyboard layout, use the XkbLayout option in the keyboard InputDevice section. For example, if you have a keyboard with the English (Great Britain) layout, your keyboard InputDevice section might look similar to this:<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
Option "XkbLayout" "gb"<br />
EndSection<br />
<br />
To change the keyboard model, use the XkbModel option in the keyboard InputDevice section. For example, if you have a Microsoft Wireless Multimedia Keyboard:<br />
<br />
Option "XkbModel" "microsoftmult"<br />
<br />
====Switching between keyboard layouts====<br />
To be able to easily switch keyboard layouts, modify the Options used in either of the above two methods. For example, to switch between a US and a Swedish layout using the {{Keypress|Caps Lock}} key, create a file {{ic|/etc/X11/xorg.conf.d/01-keyboard-layout.conf}} with the following content:<br />
Section "InputClass"<br />
Identifier "keyboard-layout"<br />
MatchIsKeyboard "on"<br />
Option "XkbLayout" "us, se"<br />
Option "XkbOptions" "grp:caps_toggle"<br />
EndSection<br />
<br />
As an alternative, you can add the following to your {{ic|.xinitrc}}:<br />
<br />
setxkbmap -layout "us, se" -option "grp:caps_toggle"<br />
<br />
This is mainly useful if you run a Desktop Environment which does not take care of keyboard layouts for you.<br />
<br />
{{Tip|If you want to get a list of possible values for the layout and options, you can find them in {{ic|/usr/share/X11/xkb/rules/xorg.lst}}. They are under sections {{ic|! layout}} and {{ic|! option}} respectively. These values work for both the configuration file solution, and the command line alternative.}}<br />
<br />
====Enable pointerkeys====<br />
[[Wikipedia:Mouse keys|Mouse keys]] is now disabled by default and has to be manually enabled:<br />
{{hc|/etc/X11/xorg.conf.d/20-enable-pointerkeys.conf|<nowiki>Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbOptions" "keypad:pointerkeys"<br />
EndSection</nowiki>}}<br />
<br />
You can also run:<br />
$ setxkbmap -option keypad:pointerkeys<br />
<br />
Both will make the {{Keypress|Shift+Num Lock}} shortcut toggle mouse keys.<br />
<br />
===InputClasses ===<br />
'''Taken from: https://fedoraproject.org/wiki/Input_device_configuration'''<br />
<br />
InputClasses are a new type of configuration section that does not apply to a single device but rather to a class of devices, including hotplugged devices. An InputClass section's scope is limited by the ''matches'' specified &ndash; to apply to an input device, all matches must apply to a device. An example InputClass section is provided below:<br />
<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
MatchIsTouchpad "on"<br />
Driver "synaptics"<br />
EndSection<br />
}}<br />
<br />
The next snippet might also be helpful:<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "evdev touchpad catchall"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
EndSection<br />
}}<br />
<br />
If this snippet is present in the {{ic|xorg.conf}} or xorg.conf.d, any touchpad present in the system is assigned the synaptics driver. Note that due to precedence order (alphanumeric sorting of xorg.conf.d snippets) the Driver setting overwrites previously set driver options &ndash; the more generic the class, the earlier it should be listed. The default snippet shipped with the {{pkg|xorg-x11-drv-Xorg}} package is {{ic|00-evdev.conf}} and applies the evdev driver to all input devices.<br />
<br />
The match options specify which devices a section may apply to. To match a device, all match lines must apply. The following match lines are supported (with examples):<br />
* {{ic|MatchIsPointer}}, {{ic|MatchIsKeyboard}}, {{ic|MatchIsTouchpad}}, {{ic|MatchIsTouchscreen}}, {{ic|MatchIsJoystick}} &ndash; boolean options to apply to a group of devices.<br />
* {{ic|MatchProduct "foo&#124;bar"}}: match any device with a product name containing either "foo" or "bar"<br />
* {{ic|MatchVendor "foo&#124;bar&#124;baz"}}: match any device with a vendor string containing either "foo", "bar", or "baz"<br />
* {{ic|MatchDevicePath "/dev/input/event*"}}: match any device with a device path matching the given patch (see fnmatch(3) for the allowed pattern)<br />
* {{ic|MatchTag "foo&#124;bar"}}: match any device with a tag of either "foo" or "bar". Tags may be assigned by the config backend &ndash; udev in our case &ndash; to label devices that need quirks or special configuration.<br />
<br />
An example section for user-specific configuration is:<br />
<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "lasermouse slowdown"<br />
MatchIsPointer "on"<br />
MatchProduct "Lasermouse"<br />
MatchVendor "LaserMouse Inc."<br />
Option "ConstantDeceleration" 20<br />
EndSection<br />
}}<br />
<br />
This section would match a pointer device containing "Lasermouse" from "Lasermouse Inc." and apply a constant deceleration of 20 on this device &ndash; slowing it down by factor 20.<br />
<br />
Some devices may get picked up by the X server when they really should not be. These devices can be configured to be ignored:<br />
<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "no need for accelerometers in X"<br />
MatchProduct "accelerometer"<br />
Option "Ignore" "on"<br />
EndSection<br />
}}<br />
<br />
====Example configurations====<br />
<br />
The following subsections describe example configurations for commonly used configuration options. Note that if you use a desktop environment such as GNOME or KDE, options you set in the xorg.conf ''may'' get overwritten with user-specific options upon login.<br />
<br />
=====Example: Wheel emulation (for a Trackpoint)=====<br />
<br />
If you own a computer with a Trackpoint (a Thinkpad, for example) you can add the following to the {{ic|xorg.conf}} to use the middle button to emulate a mouse wheel:<br />
<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "Wheel Emulation"<br />
MatchIsPointer "on"<br />
MatchProduct "TrackPoint"<br />
Option "EmulateWheelButton" "2"<br />
Option "EmulateWheel" "on"<br />
EndSection<br />
}}<br />
<br />
For full support of TrackPoints (including horizontal scrolling) you can use the following:<br />
{{bc|<nowiki><br />
Section "InputClass"<br />
Identifier "Trackpoint Wheel Emulation"<br />
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
Option "Emulate3Buttons" "false"<br />
Option "XAxisMapping" "6 7"<br />
Option "YAxisMapping" "4 5"<br />
EndSection<br />
</nowiki>}}<br />
<br />
=====Example: Tap-to-click=====<br />
Tap-to-click can be enabled in the mouse configuration dialog (in the touchpad tab) but if you need tapping enabled at gdm already, the following snippet does it for you:<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "tap-by-default"<br />
MatchIsTouchpad "on"<br />
Option "TapButton1" "1"<br />
EndSection<br />
}}<br />
<br />
=====Example: Keyboard layout and model on Acer 5920G laptop=====<br />
<br />
Keyboard model and layout may be set in the file {{ic|/etc/X11/xorg.conf.d/keyboard.conf}} or any other .conf file in the same directory.<br />
* {{ic|MatchIsKeyboard "yes"}}: set the input device to a keyboard<br />
* {{ic|Option "XkbModel" "acer_laptop"}}: set the keyboard model to an Acer * {{ic|Option "XkbLayout" "be"}}: set the keyboard layout to belgian. You may replace {{ic|be}} with whatever layout you have.<br />
* {{ic|Option "XkbVariant" "sundeadkeys"}}: set the layout variant to Sun dead keys. You may omit the {{ic|XkbVariant}} option if you stick with the default variant.<br />
laptop keyboard. You may replace {{ic|acer_laptop}} with your actual keyboard layout.<br />
<br />
Note that a list of keyboard layouts and models can be found in {{ic|/usr/share/X11/xkb/rules/base.lst}}<br />
<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbModel" "acer_laptop"<br />
Option "XkbLayout" "be"<br />
Option "XkbVariant" "sundeadkeys"<br />
EndSection<br />
}}<br />
<br />
=====Example: Third button emulation (for all attached mice)=====<br />
Third button emulation allows you to use the 1 and 2 buttons (left and right click) together to produce a button 3 event (middle-click), which is really useful for copy and paste in X.<br />
<br />
We will modify the mouse input catchall in {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}}<br />
{{bc|<br />
Section "InputClass"<br />
Identifier "evdev pointer catchall"<br />
MatchIsPointer "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "Emulate3Buttons" "True"<br />
Option "Emulate3Timeout" "25"<br />
EndSection<br />
}}<br />
<br />
Here you see the {{ic|Option "Emulate3Buttons" "True"}} and {{ic|Option "Emulate3Timeout" "25"}} options that specify that 3 buttons should be emulated and the delay to recognize both buttons down as a middle click is 25ms.<br />
<br />
==Graphics==<br />
===Driver installation===<br />
The default graphics driver is vesa ({{Pkg|xf86-video-vesa}}), which handles a large number of chipsets but does not include any 2D or 3D acceleration. To enable graphics acceleration, you will need to install and use the driver specific to your graphics card.<br />
<br />
First, identify your card:<br />
$ lspci | grep VGA<br />
<br />
Then, install an appropriate driver. You can search for these packages with the following command:<br />
$ pacman -Ss xf86-video<br />
<br />
Common open source drivers:<br />
*NVIDIA: {{Pkg|xf86-video-nouveau}} (see [[Nouveau]])<br />
*Intel: {{Pkg|xf86-video-intel}} (see [[Intel]])<br />
*ATI: {{Pkg|xf86-video-ati}} (see [[ATI]])<br />
<br />
Common proprietary drivers:<br />
*NVIDIA: {{Pkg|nvidia}} (see [[NVIDIA]])<br />
*ATI: {{AUR|catalyst}} (see [[ATI Catalyst]])<br />
<br />
Xorg should run smoothly without closed source drivers, which are typically needed only for advanced features such as fast 3D-accelerated rendering for games, dual-screen setups, and TV-out.<br />
<br />
===Monitor settings===<br />
====Getting started====<br />
{{Note|This step is OPTIONAL and should not be done unless you know what you are doing.<br><br />
This step is '''NOT OPTIONAL''' if using dual monitors and the nouveau driver. See [[Nouveau#Configuration]].}}<br />
<br />
First, create a new config file, such as {{ic|/etc/X11/xorg.conf.d/10-monitor.conf}}.<br />
<br />
Insert the following code into the config file mentioned above:<br />
<br />
{{bc|<nowiki><br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "vesa" #Choose the driver used for this monitor<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0" #Collapse Monitor and Device section to Screen section<br />
Device "Device0"<br />
Monitor "Monitor0"<br />
DefaultDepth 16 #Choose the depth (16||24)<br />
SubSection "Display"<br />
Depth 16<br />
Modes "1024x768_75.00" #Choose the resolution<br />
EndSubSection<br />
EndSection<br />
</nowiki>}}<br />
<br />
====Multiple monitors/Dual screen====<br />
=====NVIDIA=====<br />
Please see: [[NVIDIA#Multiple monitors]].<br />
<br />
=====More than one graphics card=====<br />
You must define the correct driver to use and put the bus ID of your graphic cards.<br />
{{bc|<br />
Section "Device"<br />
Identifier "Screen0"<br />
Driver "nouveau"<br />
BusID "PCI:0:12:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Screen1"<br />
Driver "radeon"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
}}<br />
<br />
To get your bus ID:<br />
$ lspci | grep VGA<br />
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)<br />
<br />
The bus ID here is 1:0:0.<br />
<br />
=====Script to toggle internal/external display for laptops=====<br />
Run the following script after connecting to external displays with your computer to change the display used by Xorg. It checks if a display is connected to the port specified in {{ic|EXT}} before changing displays.<br />
<br />
To find out the display names to be specified in {{ic|EXT}} run:<br />
# xrandr -q<br />
The internal display should be connected when running the script, which is always true for a laptop. To use this script the package {{Pkg|xorg-xrandr}} needs to be installed.<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
IN="LVDS1"<br />
EXT="VGA1"<br />
<br />
if (xrandr | grep "$EXT" | grep "+")<br />
then<br />
xrandr --output $EXT --off --output $IN --auto<br />
else<br />
if (xrandr | grep "$EXT" | grep " connected")<br />
then<br />
xrandr --output $IN --off --output $EXT --auto<br />
fi<br />
fi<br />
</nowiki>}}<br />
<br />
==== Display Size and DPI ====<br />
The DPI of the X server is determined in the following manner:<br />
# The -dpi command line option has highest priority.<br />
# If this is not used, the DisplaySize setting in the X config file is used to derive the DPI, given the screen resolution.<br />
# If no DisplaySize is given, the monitor size values from DDC are used to derive the DPI, given the screen resolution.<br />
# If DDC does not specify a size, 75 DPI is used by default.<br />
<br />
In order to get correct dots per inch (DPI) set, the display size must be recognized or set. Having the correct DPI is especially necessary where fine detail is required (like font rendering). Previously, manufacturers tried to create a standard for 96 DPI (a 10.3" diagonal monitor would be 800x600, a 13.2" monitor 1024x768). These days, screen DPIs vary and may not be equal horizontally and vertically. For example, a 19" widescreen LCD at 1440x900 may have a DPI of 89x87. To be able to set the DPI, the Xorg server attempts to auto-detect your monitor's physical screen size through the graphic card with [http://en.wikipedia.org/wiki/Display_Data_Channel DDC]. When the Xorg server knows the physical screen size, it will be able to set the correct DPI depending on resolution size.<br />
<br />
To see if your display size and DPI are detected/calculated correctly:<br />
<br />
$ xdpyinfo | grep -B2 resolution<br />
<br />
Check that the dimensions match your display size. If the Xorg server is not able to correctly calculate the screen size, it will default to 75x75 DPI and you will have to calculate it yourself.<br />
<br />
If you have specifications on the physical size of the screen, they can be entered in the Xorg configuration file so that the proper DPI is calculated:<br />
<br />
{{bc|<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
DisplaySize 286 179 # In millimeters<br />
EndSection<br />
}}<br />
<br />
If you only want to enter the specification of your monitor '''without''' creating a full xorg.conf create a new config file. For example ({{ic|/etc/X11/xorg.conf.d/90-monitor.conf}}):<br />
<br />
{{bc|<br />
Section "Monitor"<br />
Identifier "<default monitor>"<br />
DisplaySize 286 179 # In millimeters<br />
EndSection<br />
}}<br />
<br />
If you do not have specifications for physical screen width and height (most specifications these days only list by diagonal size), you can use the monitor's native resolution (or aspect ratio) and diagonal length to calculate the horizontal and vertical physical dimensions. Using the Pythagorean theorem on a 13.3" diagonal length screen with a 1280x800 native resolution (or 16:10 aspect ratio):<br />
<br />
echo 'scale=5;sqrt(1280^2+800^2)' | bc # 1509.43698<br />
<br />
This will give the pixel diagonal length and with this value you can discover the physical horizontal and vertical lengths (and convert them to millimeters):<br />
<br />
{{bc|<nowiki><br />
echo 'scale=5;(13.3/1509)*1280*25.4' | bc # 286.43072<br />
echo 'scale=5;(13.3/1509)*800*25.4' | bc # 179.01920<br />
</nowiki>}}<br />
<br />
{{Note|This calculation works for monitors with square pixels; however, there is the seldom monitor that may compress aspect ratio (e.g 16:10 aspect resolution to a 16:9 monitor). If this is the case, you should measure your screen size manually.}}<br />
<br />
===== Setting DPI manually =====<br />
DPI can be set manually if you only plan to use one resolution ([http://pxcalc.com/ DPI calculator]):<br />
<br />
{{bc|<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
Option "DPI" "96 x 96"<br />
EndSection<br />
}}<br />
<br />
If you use an NVIDIA card, you can manually set the DPI adding the options bellow on {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} (inside '''Device''' section):<br />
<br />
Option "UseEdidDpi" "False"<br />
Option "DPI" "96 x 96"<br />
<br />
For RandR compliant drivers, you can set it by:<br />
<br />
xrandr --dpi 96<br />
<br />
See [[Execute commands after X start]] to make it permanent.<br />
<br />
Note: while you can set any dpi you like and applications using Qt and GTK will scale accordingly, it's recommended to set it to 96, 120 (25% higher), 144 (50% higher), 168 (75% higher), 192 (100% higher) etc., to reduce scaling artifacts to GUI that use bitmaps. Reducing it below 96 dpi may not reduce size of graphical elements of GUI as typically the lowest dpi the icons are made for is 96.<br />
<br />
====DPMS====<br />
DPMS (Display Power Management Signaling) is a technology that allows power saving behaviour of monitors when the computer is not in use. This will allow you to have your monitors automatically go into standby after a predefined period of time. See: [[DPMS]]<br />
<br />
== Composite ==<br />
The Composite extension for X causes an entire sub-tree of the window hierarchy to be rendered to an off-screen buffer. Applications can then take the contents of that buffer and do whatever they like. The off-screen buffer can be automatically merged into the parent window or merged by external programs, called compositing managers.<br />
<br />
{{Accuracy|Is this actually still true in recent Xorg releases?}}<br />
The Composite extension can't be used simultaneously with Xinerama. However, it can be used simultaneously with Nvidia Twinview.<br />
<br />
=== Disabling the extension ===<br />
The composite extension is enabled by default. To disable it, add this to xorg.conf or a file in /etc/xorg.conf.d:<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
<br />
This may slightly improve your performance with some drivers.<br />
<br />
=== See also ===<br />
*[[AIGLX]]<br />
*[[Compiz]] -- The original composite/window manager from Novell<br />
*[[Xcompmgr]] -- A simple composite manager capable of drop shadows and primitive transparency<br />
*[[Compton]] -- A fork of [[xcompmgr]] with feature improves and bug fix<br />
*[[Cairo Compmgr|Cairo Composite Manager]] -- A versatile and extensible composite manager which uses cairo for rendering.<br />
*[[Wikipedia:Compositing window manager]]<br />
<br />
==Sample configurations==<br />
Anyone who has an {{ic|xorg.conf}} file written up that works, go ahead and post a link to it here for others to look at. Please do not in-line the entire configuration file; upload it somewhere else and link to it.<br />
<br />
'''Please post input hotplugging configurations only, otherwise note that your config is not using input hotplugging.''' (Xorg 1.8 = udev)<br />
<br />
=== Sample 1: {{ic|xorg.conf}} & {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} ===<br />
This is a sample configuration file using {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} for the keyboard layouts:<br />
<br />
{{Note|The "InputDevice" sections are commented out, because {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} is taking care of them.}}<br />
{{ic|xorg.conf}}: http://pastebin.com/raw.php?i=EuSKahkn<br />
{{ic|/etc/X11/xorg.conf.d/10-evdev.conf}}: http://pastebin.com/raw.php?i=4mPY35Mw<br />
{{ic|/etc/X11/xorg.conf.d/10-monitor.conf}} (VMware): http://pastebin.com/raw.php?i=fJv8EXGb<br />
{{ic|/etc/X11/xorg.conf.d/10-monitor.conf}} (KVM): http://pastebin.com/raw.php?i=NRz7v0Kn<br />
<br />
==Tips and tricks==<br />
===X startup ({{ic|/usr/bin/startx}}) tweaking===<br />
For X's option reference see:<br />
$ man Xserver<br />
<br />
The following options have to be appended to the variable {{ic|"defaultserverargs"}} in the {{ic|/usr/bin/startx}} file:<br />
<br />
* Enable deferred glyph loading for 16 bit fonts:<br />
-deferglyphs 16<br />
<br />
{{Note|1=If you start X with kdm, the startx script does not seem to be executed. X options must be appended to the variable {{ic|"ServerArgsLocal"}} or {{ic|"ServerCmd"}} in the {{ic|/usr/share/config/kdm/kdmrc}} file. By default kdm options are:<br />
{{bc|1=ServerArgsLocal=-nolisten tcp<br />
ServerCmd=/usr/bin/X}}<br />
}}<br />
<br />
===Nested X session===<br />
To run a nested session of another desktop environment:<br />
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1<br />
<br />
This will launch a Window Maker session in a 1024 by 768 window within your current X session.<br />
<br />
This needs the package {{Pkg|xorg-server-xnest}} to be installed.<br />
<br />
===Starting GUI Programs Remotely===<br />
To start up a program that uses X when logged in remotely (such as through ssh), you need to type this in from the remote login Bash shell:<br />
<br />
export DISPLAY=:0<br />
<br />
Then invoke the program the way you would locally from the shell.<br />
<br />
Hint: Add that line to ~/.bashrc to have it happen automatically every time you log in.<br />
<br />
===On-Demand Disabling and Enabling of Input Sources===<br />
With the help of {{ic|xinput}} you can temporarily disable or enable input sources. This might be useful, for example, on systems that have more than one mouse, such as the ThinkPads and you would rather use just one to avoid unwanted mouse clicks. Let's see how to accomplish this.<br />
<br />
Install {{ic|xinput}} from the {{Pkg|xorg-xinput}} package: {{bc|# pacman -S xorg-xinput}}<br />
<br />
Find the ID of the device you want to disable: {{bc|xinput}}<br />
<br />
For example in a Lenovo ThinkPad T500, the output looks like this:<br />
{{hc|$ xinput|<nowiki>⎡ Virtual core pointer id=2 [master pointer (3)]<br />
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]<br />
⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)]<br />
⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)]<br />
⎣ Virtual core keyboard id=3 [master keyboard (2)]<br />
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]<br />
↳ Power Button id=6 [slave keyboard (3)]<br />
↳ Video Bus id=7 [slave keyboard (3)]<br />
↳ Sleep Button id=8 [slave keyboard (3)]<br />
↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)]<br />
↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]</nowiki><br />
}}<br />
<br />
Disable the device with {{ic|xinput --disable DEVICE}}, where DEVICE is the device ID you want to disable. In this example we'll disable the Synaptics Touchpad, with the ID 10:<br />
{{bc|xinput --disable 10}}<br />
<br />
To re-enable the device, just issue the opposite command:<br />
{{bc|xinput --enable DEVICE}}<br />
<br />
==Troubleshooting==<br />
===Common problems===<br />
If Xorg will not start, the screen is completely black, the keyboard and mouse are not working, etc., first take these simple steps:<br />
*Check the log file: {{ic|cat /var/log/Xorg.0.log}}<br />
*Install input driver (keyboard, mouse, joystick, tablet, etc...):<br />
*Finally, search for common problems in [[ATI]], [[Intel]] and [[NVIDIA]] articles.<br />
<br />
===Ctrl+Alt+Backspace does not work===<br />
There are two ways of restoring {{Keypress|Ctrl+Alt+Backspace}}; with and without input-hotplugging. Using hot-plugging is recommended.<br />
<br />
====With input hot-plugging====<br />
=====System-wide=====<br />
Within {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}}, simply add the following:<br />
{{bc|<br />
Section "InputClass" <br />
Identifier "Keyboard Defaults" <br />
MatchIsKeyboard "yes" <br />
Option "XkbOptions" "terminate:ctrl_alt_bksp" <br />
EndSection<br />
}}<br />
<br />
{{Note|On KDE, this system-wide setting has no effect. To restore, go to Kickoff > Computer > System Settings which will open up the System Settings window. Click on 'Input Devices'. In this new window click the Keyboard tab and then click on the advanced tab. In this new window, click the box for 'Configure keyboard options.' Expand the entry for 'Key sequence to kill the X server' and ensure {{keypress|Ctrl+Alt+Backspace}} is checked. Click Apply and close the System Settings window. You now have your {{keypress|Ctrl+Alt+Backspace}} back in KDE.}}<br />
<br />
=====User-specific=====<br />
Another way is to put this line in [[xinitrc]]:<br />
setxkbmap -option terminate:ctrl_alt_bksp<br />
<br />
{{Note|This setting has no effect on Gnome 3.}}<br />
<br />
====Without input hot-plugging====<br />
New Xorg disables zapping with {{keypress|Ctrl+Alt+Backspace}} by default. You can enable it by adding the following line to {{ic|/etc/X11/xorg.conf}},<br />
Option "XkbOptions" "terminate:ctrl_alt_bksp"<br />
to {{ic|InputDevice}} section for keyboard.<br />
<br />
===CTRL right key does not work with oss keymap===<br />
Edit as root {{ic|/usr/share/X11/xkb/symbols/fr}}, and change the line :<br />
{{bc|include "level5(rctrl_switch)"}}<br />
to<br />
{{bc|// include "level5(rctrl_switch)"}}<br />
Then restart X or reboot.<br />
<br />
===Apple keyboard issues===<br />
:''See: [[Apple Keyboard]]''<br />
<br />
===Touchpad tap-click issues===<br />
:''See: [[Synaptics]]''<br />
<br />
===Extra mouse buttons not recognized===<br />
:''See: [[Get All Mouse Buttons Working]]''<br />
<br />
===X clients started with "su" fail===<br />
If you are getting "Client is not authorized to connect to server", try adding the line:<br />
session optional pam_xauth.so<br />
to {{ic|/etc/pam.d/su}}. {{ic|pam_xauth}} will then properly set environment variables and handle {{ic|xauth}} keys.<br />
<br />
===Program requests "font '(null)'"===<br />
*Error message: "''unable to load font `(null)'.''"<br />
Some programs only work with bitmap fonts. Two major packages with bitmap fonts are available, {{Pkg|xorg-fonts-75dpi}} and {{Pkg|xorg-fonts-100dpi}}. You do not need both; one should be enough. To find out which one would be better in your case, try this:<br />
$ xdpyinfo | grep resolution<br />
and use what is closer to you (75 or 100 instead of XX)<br />
# pacman -S xorg-fonts-XXdpi<br />
<br />
===Frame-buffer mode problems===<br />
If X fails to start with the following log messages,<br />
{{bc|<nowiki><br />
(WW) Falling back to old probe method for fbdev<br />
(II) Loading sub module "fbdevhw"<br />
(II) LoadModule: "fbdevhw"<br />
(II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so<br />
(II) Module fbdevhw: vendor="X.Org Foundation"<br />
compiled for 1.6.1, module version=0.0.2<br />
ABI class: X.Org Video Driver, version 5.0<br />
(II) FBDEV(1): using default device<br />
<br />
Fatal server error:<br />
Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices<br />
</nowiki>}}<br />
uninstall fbdev:<br />
# pacman -R xf86-video-fbdev<br />
<br />
===DRI with Matrox cards stops working===<br />
If you use a Matrox card and DRI stops working after upgrading to Xorg, try adding the line:<br />
Option "OldDmaInit" "On"<br />
to the Device section that references the video card in {{ic|xorg.conf}}.<br />
<br />
===Recovery: disabling Xorg before GUI login===<br />
If Xorg is set to boot up automatically and for some reason you need to prevent it from starting up before the login/display manager appears (if {{ic|/etc/rc.conf}} is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.<br />
<br />
*From the GRUB menu, you can specify the runlevel in the kernel line by adding a number to the end of the kernel line specifying the run level you want. The following example sets the run level to 3:<br />
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/..ro 3<br />
<br />
*If you have not only a faulty {{ic|/etc/rc.conf}} to make Xorg unusable, but you have also set the GRUB menu wait time to zero, or cannot otherwise use GRUB to prevent Xorg from booting, you can use the Arch Linux live CD. Boot up the live CD and login as root. You need a mount point, such as {{ic|/mnt}}, and you need to know the name of the partition you want to mount.<br />
<br />
:You can use the command,<br />
# fdisk -l<br />
:to see your partitions. Usually, the one you want will be resembling {{ic|/dev/sda1}}. Then, to mount this to {{ic|/mnt}}, use<br />
# mount /dev/sda1 /mnt<br />
<br />
:Then your filesystem will show up under {{ic|/mnt}}. So your {{ic|/etc/rc.conf}} file, for example, would be in {{ic|/mnt/etc/rc.conf}}. From here you can delete the {{ic|gdm}} daemon to prevent Xorg from booting up normally or make any other necessary changes to the configuration.<br />
<br />
===X failed to start : Keyboard initialization failed===<br />
If your hard disk is full, startx will fail. {{ic|/var/log/Xorg.0.log}} will end with:<br />
(EE) Error compiling keymap (server-0)<br />
(EE) XKB: Couldn't compile keymap<br />
(EE) XKB: Failed to load keymap. Loading default keymap instead.<br />
(EE) Error compiling keymap (server-0)<br />
(EE) XKB: Couldn't compile keymap<br />
XKB: Failed to compile keymap<br />
Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.<br />
Fatal server error:<br />
Failed to activate core devices.<br />
Please consult the The X.Org Foundation support at http://wiki.x.org<br />
for help.<br />
Please also check the log file at "/var/log/Xorg.0.log" for additional information.<br />
(II) AIGLX: Suspending AIGLX clients for VT switch<br />
<br />
Make some free space on your root partition and X will start.</div>Kiike