https://wiki.archlinux.org/api.php?action=feedcontributions&user=83.76.168.163&feedformat=atomArchWiki - User contributions [en]2024-03-28T21:30:13ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Quick_Arch_Linux_Install_(%E6%AD%A3%E9%AB%94%E4%B8%AD%E6%96%87)&diff=6892Quick Arch Linux Install (正體中文)2005-12-13T23:12:54Z<p>83.76.168.163: remove spam</p>
<hr />
<div>{{translateme}}<br />
<br />
[[Category:Installation (繁體中文)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Quick Archlinux Install}}<br />
{{i18n_entry|繁體中文|Archlinux 快速安裝教學}}<br />
{{i18n_links_end}}<br />
<br />
This document walks you through a basic Archlinux installation. It is based on the 0.6 (widget) installation scripts.<br />
<br />
== Introduction==<br />
<br />
This is a quick walkthrough for those who don't yet know what Arch is and what it is capable of. It is written mainly for those people who already have an existing Windows Partition on their harddrive and want to set up Arch Linux without harming the Windows install.<br />
<br />
This guide is for "normal" hardware, nothing special (such as scsi) is documented.<br />
<br />
Windows is assumed to exist on the first partition of the harddrive, otherwise grub won't be able to find it.<br />
<br />
== Necessary things==<br />
<br />
* The Archlinux Base Installation-CD or the Full-Installation-CD. {{sn|Get it from [http://www.archlinux.org/download.php here]}}<br />
* Either one free harddisk or free space on one partition. You have to separate this free space from an existing partition in windows with partitioning tools (such as partition magic).<br />
<br />
== Installation from the Arch-CD ==<br />
<br />
* Insert the CD in your drive, reboot, and check that your BIOS will boot from the CD-ROM drive first.<br />
* Now it should look like this:<br />
<br />
http://home.arcor.de/Langeland/1.png<br />
Default Arch boot screen<br />
<br />
* Press <code>Enter</code><br />
* After the boot process is finished, type:<br />
<pre><br />
/arch/setup<br />
</pre><br />
<br />
You will be installing from the CD first, so network drivers are not necessary.<br />
<br />
The Main Menu will appear:<br />
<br />
http://home.arcor.de/Langeland/6.png <br />
Main Menu<br />
<br />
=== Partition Hard-Drive===<br />
<br />
If you have an empty Hard-Drive you may skip these steps and choose Auto-Partitioning. Please note this will erase all partions from your Hard-Drive! If you want to keep any partition on your harddrive follow the steps below:<br />
<br />
* Select Prepare Hard-Drive.<br />
* Choose Partition Hard-Drive.<br />
* Select the Disc you want Arch-Linux to be installed on.<br />
* The cfdisk-Partition Program will open and you can create the partitions. For Arch-Base-Installation there are at least two partitions needed:<br />
* one swap partition<br />
* one data partition<br />
<br />
* At this point the display may look like this (if you have a ntfs-partition for windows):<br />
<br />
http://home.arcor.de/Langeland/9.png <br />
cfdisk<br />
<br />
* Don't touch the ntfs (or vfat) partition in any way, or otherwise you may lose Windows.<br />
* The type of the swap-partition should be set by setting the partition type to 82<br />
* If you want to quit cfdisk without saving anything then press quit, otherwise press write.<br />
* After using cfdisk it should look like this:<br />
<br />
http://home.arcor.de/Langeland/10.png <br />
Partition Layout<br />
<br />
=== Set Mountpoints===<br />
* Select point 3: Set Filesystem Mountpoints<br />
* Select the partition you marked as swap<br />
* Select the other partition for the system (to mount as /)<br />
* Select the Filesystem ext3<br />
* Select DONE !!<br />
''This last step is very important, many people skip this step, but no actions take place until you select DONE - if you do not do this, the install will appear to work, but will not install any files''<br />
<br />
=== Select Packages===<br />
<br />
* Select CD<br />
* Now it should look like this:<br />
<br />
http://home.arcor.de/Langeland/11.png <br />
Package Categories<br />
<br />
* For now you should select only base and editors.<br />
* You want to select all packages in the categories by default<br />
* Just press ok.<br />
<br />
=== Install Packages===<br />
<br />
* This is rather easy: Just press install packages, say ok and everything will be copied from cd to harddisk.<br />
<br />
=== Install Kernel===<br />
<br />
* Choose 2.6 IDE unless you know you have different hardware.<br />
<br />
=== Edit Config Files===<br />
<br />
* Choose nano to edit the files<br />
''' You have to edit the rc.conf''' if you want to change your keyboard layout. For example de is german.<br />
<br />
* nano is easy to understand: Strg-o ( Ctrl-o ) saves the file, Strg-x ( Ctrl-x ) saves the file and exits nano.<br />
* Change the line with keymap<code>us to keymap</code>de<br />
''' You have to edit the '''menu.lst*.<br />
* Here you create your bootloader. There you can switch between windows and linux.<br />
* You will see a file like this:<br />
<br />
http://home.arcor.de/Langeland/13.png <br />
Menu.lst<br />
<br />
* Everything should be setup right to boot into arch, you only have to add the following lines at the end to have the ability to boot windows:<br />
<pre><br />
title Windows<br />
rootnoverify (hd0,0)<br />
chainloader +1<br />
</pre><br />
<br />
Press Strg-O, Strg-X and everything is saved.<br />
<br />
=== Install Bootloader===<br />
<br />
* Choose grub.<br />
* Choose the entry on top of the list.<br />
<br />
=== Ready to reboot===<br />
<br />
* Exit the mainmenu, type reboot and the computer should reboot.<br />
* Remove the CD<br />
* You can choose between windows and arch, default is arch<br />
<br />
== Alternative Installing Methods ==<br />
* [[Fast Arch Install from existing Linux System]]<br />
<br />
== First steps in Arch==<br />
<br />
* Login as root.<br />
* Execute the command <code>passwd</code> to set a password for root.<br />
<pre><br />
# passwd<br />
</pre><br />
* Add a user. You can use the adduser script. Your user should be in the users, audio and optical groups.<br />
<pre><br />
# adduser<br />
</pre><br />
<br />
Now it's time to fix your internet and start installing packages with Pacman.<br />
Enjoy!</div>83.76.168.163https://wiki.archlinux.org/index.php?title=Arch_compared_to_other_distributions&diff=6881Arch compared to other distributions2005-12-13T20:17:11Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:General]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Deutsch|Arch im Vergleich mit anderen Distributionen}}<br />
{{i18n_entry|English|Arch Compared To Other Distros}}<br />
{{i18n_entry|Français|Arch Comparée Aux Autres Distros}}<br />
{{i18n_entry|Português do Brasil|Arch_x_Outras(Português_do_Brasil)}}<br />
{{i18n_entry|Slovenčina|Arch vs Ostatné distribúcie}}<br />
{{i18n_entry|简体中文|Arch 与其他发行版的比较}}<br />
{{i18n_links_end}}<br />
<br />
This page summarizes some of the similarities and differences between Arch and other distributions. This question comes up repeatedly and it would be nice to have a standard response. Please note: the best way to compare Arch to other distributions is to install it and try it yourself. Arch has a wonderful user community that is always willing to help new users. The summaries below are meant only to give you enough information to decide if Arch is really for you.<br />
<br />
==Arch vs. Itself==<br />
??<br />
<br />
==Arch vs Gentoo==<br />
Because Arch distributes binary, it is much less time consuming than Gentoo. Gentoo has more packages. Arch allows both binary and source based distribution. PKGBUILDs are easier to create than ebuilds. Gentoo is more portable out of the box as packages will get compiled to your specific architecture, whereas as Arch is i686 only (although i586 and x64 user-based spinoff projects are underway). There is no documented proof that <br />
Gentoo is any faster than Arch.<br />
<br />
==Arch vs Crux==<br />
Arch Linux is descended from Crux. Judd once summarized the differences:<br />
:&quot;I used Crux before starting Arch. Arch started out as Crux, pretty much. Then I wrote pacman and makepkg to replace my bash pseudo packaging scripts (I built Arch as an LFS system to begin). So the two are completely separate distros, but technically, they're almost the same. We have dependency support (officially) for example, although Crux has a community that provides other features. CLC's prt-get will do rudimentary dependency logic. Crux gets to ignore lots of problems we have too, since it's a very minimalistic package set, basically what Per uses and nothing else.&quot;s<br />
<br />
==Arch vs Sorcerer/Lunar/Sourcemage==<br />
Sorcerer/Lunar/Sourcemage (SLS) are all source based distros, much like Gentoo is. SLS use a rather simple scripts to create packages, and use a global configuration file to configure the compilation process, much like Arch's ABS system, although more difficult to learn. The SLS tools do dependancy checking and package tracking. There are no binary packages for any of the SLS family.<br />
<br />
The install involves installing a base system (much like Arch's: i686 optimized, CLI only, only core tools), then recompiling the base system after. This process alone takes at least two hours on a modern computer, and much longer on a older system. There is no &quot;standard&quot; WM/DE/DM and SLS does not come with an Xserver, however, a few of the Lunar developers are also XFCE developers, so many Lunar users are XFCE users.<br />
<br />
SLS has a very complicated history. The best write up about it can be found here: http://wiki.sourcemage.org/Our_History<br />
<br />
Lunar Linux: http://lunar-linux.org/<br />
SourceMage: http://www.sourcemage.org/<br />
Sorcerer: http://sorcerer.berlios.de/<br />
<br />
==Arch vs Onebase==<br />
???<br />
<br />
==Arch vs Rock==<br />
???<br />
==Arch vs T2==<br />
???<br />
<br />
==Arch vs Graphical Distros==<br />
The graphical distros have a lot of similarities, and Arch is very different from any of them. Arch is text based and command-line oriented. Arch is a better distro if you want to truly learn Linux. Graphical-based distros tend to ship with GUI installers (like Fedora's Anaconda) and GUI system configuration tools (like Suse's Yast). Specific differences between distros are described below.<br />
albert frikie<br />
<br />
==Arch vs Slackware==<br />
Slackware and Arch are both 'simple' distributions. Both use BSD-style init scripts. Arch supplies a much more robust package management system in pacman, which unlike Slackware's standard tools, allows simple automatic system upgrades. Slackware is seen as more conservative in its release cycle, preferring proven stable packages. Arch is much more 'bleeding edge' in this respect. Arch is i686 only whereas Slackware can run on i486 systems. Arch is a very good system for Slack users who want more robust package management or more current packages.<br />
<br />
==Arch vs Debian==<br />
Arch is simpler than Debian. Arch has fewer packages. Arch provides better support for building your own packages than Debian does. Arch is more lenient when it comes to 'non-free' packages as defined by GNU. Arch is i686 optimized and thus faster than Debian (NO documented proof here either). Arch packages are more bleeding edge than Debian packages (Arch current is often more up to date than Debian unstable!)<br />
<br />
==Arch vs Ubuntu==<br />
Arch has a simpler foundation than Ubuntu. If you like to compile your own kernels, try out bleeding edge CVS-only projects, or build a program from source every once in a while, Arch is better suited. If you want to get up and running quickly and not fiddle around with the guts of the system, Ubuntu is better suited. In general, developers and tinkerers will probably like Arch better than Ubuntu.<br />
<br />
==Arch vs RPM based Distros==<br />
RPM packages are available from many, many places, however third-party packages often have dependency issues, such as requiring an old version of a library. There is also confusion between RPM packages for Red Hat vs. RPM packages for Mandrake. (These are issues I had as a Linux newbie with Mandrake 8.2, and may not reflect the current situation.) pacman is much more powerful and reliable than RPM.<br />
<br />
==Arch vs Fedora==<br />
Fedora is a spin-off from the RedHat distribution and has continually been one of the most popular distributions to date. Therefore, there is a massive community and lots of pre-built packages and support available. Like all RPM-based distributions, package management is a problem. Fedora supplied Yum as a front-end to manage the acquistion of RPMs and dependency resolution. The system lacks solid yum intergration and large parts of Fedora still use the outdated and broken up2date/anaconda/rpm system. Fedora does innovate and recently earned kudos for integration of SELinux and GCJ compiled packages to remove the need for Sun's JRE. Fedora famously doesn't attempt to support the mp3 media format due to perceived patent issues.<br />
<br />
==Arch vs Mandrake==<br />
Mandrake, though famed for its installer is a very handholding distro which can get annoying after some time. Another problem is that it is a RPM based distro as discussed above. Arch allows much more freedom and less hand-holding. You actually learn.<br />
<br />
==Arch vs SuSE==<br />
Suse is centered around its well regarded Yast configuration tool. This is a one-stop shop for most users' configuration needs. Arch doesn't offer such a facility as it goes against the [[TheArchWay]]. Suse, therefore, is seen as more appropriate to less experienced users, or those who want a simpler life with expected functionality working out of the box. Suse doesn't offer mp3 support immediately, post-install. However, it can be easily added through Yast at a later date.<br />
<br />
==Arch vs Frugalware==<br />
Arch is text based and command-line oriented (user should be willing to learn.)<br />
Frugalware is a Slackware-based system. Frugalware provides better multi-lingual support. Frugalware also provides more local documentation. Frugalware claims to be faster then Arch.<br />
Both use pacman. Their packages are not really very compatible.</div>83.76.168.163https://wiki.archlinux.org/index.php?title=Talk:Main_page_(Portugu%C3%AAs)&diff=6879Talk:Main page (Português)2005-12-13T20:16:13Z<p>83.76.168.163: remove spam</p>
<hr />
<div></div>83.76.168.163https://wiki.archlinux.org/index.php?title=Custom_Kernel_Compilation_with_ABS&diff=6875Custom Kernel Compilation with ABS2005-12-13T20:13:30Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Package Management]]<br />
<br />
Due to the addition of <code>LOCALVERSION</code> and <code>EXTRAVERSION</code> variables in the kernel compilation process from 2.6.9 onwards this document has been updated and the previous version has been moved to [[Kernel Compilation With ABS (2.6.8 or Earlier)]].<br />
<br />
This howto has been updated provide a definitive PKGBUILD for the creation of custom kernel pkgs. It allows you to maintain multiple custom kernels with a unique naming scheme under pacman version control. It is ideal for ANY custom kernel build and can be easily adapted to fit many requirements. The PKGBUILD automatically accounts for the <code>EXTRAVERSION</code> and <code>LOCALVERSION</code> variables that are now fully supported in the kernel. <code>EXTRAVERSION</code> is frequently set by major patchsets such as -ck and -nitro. <code>EXTRAVERSION</code> is also used in the 2.6.x.y branch to carry the <code>.y</code> variable. <code>LOCALVERSION</code> can be set during the config stage and is the easiest and RECOMMENDED way to customize your kernel pkgnames. Simply setting <code>LOCALVERSION</code> to <code>-custom</code> or the date e.g. <code>-20050105</code> will suffice! A unique LOCALVERSION guarantees a unique pkg.<br />
<br />
=== Philosophy and Logic how it works and why it works this way ===<br />
* The Arch Way - Keep It Simple.<br />
* This PKGBUILD builds on the previous, widely accepted version.<br />
* This build provides kernel packages and components with a simple, logical and uncomplicated naming scheme that ONLY uses variables that are part of the ABS system and part of the kernel compilation process itself. Rationale:<br />
** Stock Arch kernels use the <code>kernel24</code> and <code>kernel26</code> base pkgnames these are logically extended here under the 2.6.x and 2.6.x.y schemes e.g <code>kernel2611</code> and <code>kernel26117</code><br>These also provide the basis of <code>/boot</code> filenames e.g. <code>vmlinux26</code> and <code>vmlinuz26117</code><br />
** The ''kernel compilation process'' uses the kernel version (2.6.x), <code>EXTRAVERSION</code> from the <code>Makefile</code> and <code>CONFIG_LOCALVERSION</code> from the kernel config to create the name for the kernel's module directory, e.g.:<br />
<br />
<pre><br />
2.6.x$EXTRAVERSION$LOCALVERSION<br />
2.6.11-cko2-ARCH/<br />
</pre><br />
<br />
: This is beyond the control of the PKGBUILD so to provide a pkg with similarly named components the PKGBUILD uses the same scheme to create unique <code>/boot</code> files and a unique <code>/usr/src</code> directory by appending <code>-EXTRAVERSION-LOCALVERSION</code>, e.g.:<br />
<br />
<pre><br />
/boot/vmlinuz2611-cko2-ARCH<br />
/boot/System.map2611-cko2-ARCH<br />
/boot/kconfig2611-cko2-ARCH<br />
<br />
/usr/src/linux-2.6.11-cko2-ARCH/<br />
</pre><br />
<br />
* If you have the recommended knowledge of ABS you will see that the PKGBUILD is transparently constructed, self-explanatory and easily customized.<br />
* User input is almost identical to all ABS builds: simply set <code>pkgver</code>, <code>pkgrel</code> and <code>pkgdesc</code> and add additional sources, including patches, to the <code>source</code> array. Patch users should insert the appropriate patch commands where indicated. Aside from uncommenting the config method and choosing whether to make clean or not the rest of the build is automated.<br />
* Having created a custom pkg naming scheme during the build the PKGBUILD automatically corrects/updates itself with the new <code>pkgname</code> variable allowing simple <code>gensync</code> operation.<br />
<br />
=== CAUTION ===<br />
# This PKGBUILD is only suited to builds of the 2.6 kernel branch - an effort to make a unified or alternative PKGBUILDS for the 2.4 branch can be found here - [[Kernel Compilation With ABS 2.4]]<br />
# This is NOT an ABS howto - to successfully follow this HOWTO a working knowledge of building pkgs with ABS is ESSENTIAL - please read [[ABS - The Arch Build System]], [[The Arch package making HOW-TO - with guidelines]] and [[Patching in ABS]]<br><br />
I don't advise you build a kernel for your first ABS project. If you need guidelines on how to use <code>fakeroot</code> or set up a build directory read the other documents first.<br />
# Likewise it helps if you know how to configure a kernel! If this is your first effort building a kernel I strongly recommend you start from the default Arch config, this is detailed further below.<br />
<br />
=== Usage Notes ===<br />
<br />
* The <code>patch</code> variable has been removed. You should now simply specify patch sources in the source array and place the patch commands as indicated. Also see [[Custom Kernel Compilation with ABS (2.6.9 and later)#Other_versions | Other versions]]<br />
<br />
* <code>pkgname</code> must be declared within 10 lines of the top of the PKGBUILD - so '''DO NOT''' move it - just leave it.<br><br />
If you miss this simple instruction don't worry, it won't screw up your build but your PKGBUILD file will not have the pkgname automatically updated at the end of the build. This is to allow you to use gensync correctly BUT you can edit the PKGBUILD file manually afterwards of course.<br />
<br />
* Until you have your own config that you are happy with it is easiest just to start with the default Arch config; you should also get the Arch <code>kernel26.install</code> file. These are both in your ABS tree, normally under <code>/var/abs/kernels/kernel26</code>. To download the ABS tree to your system simply run <code>abs</code> as root. It doesn't take long, even on dialup. You should keep this updated by running <code>abs</code> as root on a regular basis.<br />
<br />
* To check if <code>EXTRAVERSION</code> is set by your patchset try doing<br />
<br />
grep +EXTRAVERSION= ./patchname<br />
<br />
: and it should return something like this:<br />
<br />
+EXTRAVERSION = -ck3<br />
<br />
: if it doesn't then <code>EXTRAVERSION</code> is '''probably not being set''' by your patchset and you should ensure you use LOCALVERSION to customize the pkgname.<br>Arch default kernels are set with the <code>-ARCH</code> <code>LOCALVERSION</code> variable - you can set anything you like e.g. <code>-custom</code> (note the need for the preceding dash <code>-</code>)<br>Because of these added variables there is no need to alter the pkgname manually at any point or use any other variables. The build process automatically updates the pkgname variable in the PKGBUILD file at the end of each build to reflect the final full kernel version naming scheme.<br />
<br />
* If used correctly this PKGBUILD '''should''' always provide a unique kernel build based on EXTRAVERSION and LOCALVERSION, and on the pkgver and pkgrel (as normal) - however it is up to the user to '''double check''' resulting pkgnames and contents '''before''' installation to prevent overwrites (see below for more details and examples).<br />
<br />
=== Configuring the PKGBUILD ===<br />
Copy the PKGBUILD below to your $startdir. The PKGBUILD can also be downloaded from [http://dtw.jiwe.org/share/kernel/PKGBUILDS/PKGBUILD.custom_kernel here]. Before building remember the following:<br />
# <code>pkgname</code> can be left as it is it will automatically be set and correct itself.<br />
# Insert the <code>pkgver</code> for your kernel (for example: <code>2.6.9</code>).<br />
# Change the <code>pkgrel</code> for your current revision. You should increment this each time you make changes to the kernel config and want to build a REPLACEMENT pkg. If you don't want to replace the previous build but rather install in parallel you should use <code>LOCALVERSION</code> to create a unique pkg.<br />
# Change/expand the <code>pkgdesc</code> to describe any patches or special config options applied.<br />
# Change the source to use a closer mirror, if you are using a patchset add the patches to the source array.<br />
# {OPTIONAL} Place the patch commands where indicated.<br />
# Choose a make method by leaving your preferred method uncommented - gconfig (gtk based) xconfig (qt based) menuconfig (ncurses based).<br />
# During the build you will be asked if you want to <code>make clean</code> - the default is <code>yes</code>, reply <code>NO</code> if you know what you are doing.<br />
<br />
<pre><br />
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org><br />
pkgname=kernel26<br />
pkgver=2.6.x.y<br />
pkgrel=1<br />
pkgdesc=&quot;The Linux Kernel 2.6.x.y and modules (IDE support)&quot;<br />
url=&quot;http://www.kernel.org&quot;<br />
depends=('module-init-tools')<br />
install=kernel26.install<br />
<br />
##### add any patch sources to this section<br />
source=(config ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2 )<br />
<br />
# Function to grab var from src<br />
getvar() {<br />
old=$(cat Makefile | grep &quot;^$1&quot;)<br />
echo $(echo ${old/&quot;$1 =&quot;/} | sed -e &quot;s/[ ]*\(.*\)[ ]*/\1/g&quot;)<br />
return 0<br />
}<br />
<br />
build() {<br />
cd $startdir/src/linux-$pkgver<br />
<br />
##### Uncomment and apply any patches here<br />
#patch -Np1 -i ../patchname || return 1<br />
<br />
# get rid of the 'i' in i686<br />
carch=`echo $CARCH | sed 's|i||'`<br />
cat ../config | sed &quot;s|#CARCH#|$carch|g&quot; >./.config<br />
<br />
##### Load config - uncomment your preferred config method<br />
#yes &quot;&quot; | make config<br />
#make oldconfig || return 1<br />
#make menuconfig<br />
#make xconfig<br />
make gconfig<br />
<br />
##### NO USER CHANGES BELOW HERE #####<br />
<br />
# save the current pkgname<br />
old_pkgname=$pkgname<br />
<br />
# set pkgname for build purposes - DO NOT alter!<br />
pkgname=kernel26<br />
<br />
# save the updated config to build with today's date<br />
cp ./.config $startdir/config-$(date +%b%d\-%Hh)<br />
<br />
# get EXTRAVERSION from Makefile to create a unique pkgname and /usr/src directory<br />
_kernextra=$(getvar &quot;EXTRAVERSION&quot;)<br />
# grab the 2.6.x.y version suffix from pkgver<br />
_y=&quot;`echo $pkgver | cut --delim &quot;.&quot; --fields 4`&quot;<br />
# remove .y version suffix from _kernextra<br />
_kernextra=&quot;`echo $_kernextra | sed &quot;s|\.$_y||g&quot;`&quot;<br />
<br />
# Read the full kernel version info from new config to use in pathnames and pkgname<br />
. ./.config<br />
<br />
# Kernel custom - to create a unique pkgname (see below)<br />
_kerncust=&quot;${_kernextra}${CONFIG_LOCALVERSION}&quot;<br />
# Kernel release - will be the same as Makefile<br />
_kernrel=&quot;${pkgver}${_kerncust}&quot;<br />
# Get the pkgver suffix for unique pkgname and /boot file suffices<br />
_pkgversuf=&quot;`echo $pkgver | sed &quot;s|2.6.||g&quot; | sed &quot;s|\.||g&quot;`&quot;<br />
# Set /boot file suffices from kernel release and pkgver suffix<br />
_kernboot=&quot;${_pkgversuf}${_kerncust}&quot;<br />
<br />
# Set a new pkgname from kernel release and pkgver suffix<br />
pkgname=&quot;${pkgname}${_pkgversuf}${_kerncust}&quot;<br />
<br />
# build!<br />
echo<br />
echo -n &quot;Do you want to make clean (default YES)? (YES/NO): &quot;<br />
read choice<br />
echo<br />
echo -n &quot;Press any key to start make or CTRL+C to quit&quot;<br />
read anykey<br />
<br />
if [ &quot;${choice}&quot; = &quot;NO&quot; ] ; then<br />
make bzImage modules || return 1<br />
else<br />
make clean bzImage modules || return 1<br />
fi<br />
<br />
mkdir -p $startdir/pkg/{lib/modules,boot}<br />
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1<br />
cp System.map $startdir/pkg/boot/System.map26${_kernboot}<br />
cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz26${_kernboot}<br />
install -D -m644 Makefile \<br />
$startdir/pkg/usr/src/linux-${_kernrel}/Makefile<br />
install -D -m644 .config \<br />
$startdir/pkg/usr/src/linux-${_kernrel}/.config<br />
install -D -m644 .config $startdir/pkg/boot/kconfig26${_kernboot}<br />
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/include<br />
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/kernel<br />
for i in acpi asm-generic asm-i386 config linux math-emu net pcmcia scsi video; do<br />
cp -a include/$i $startdir/pkg/usr/src/linux-${_kernrel}/include/<br />
done<br />
# copy files necessary for later builds, like nvidia and vmware<br />
cp Module.symvers $startdir/pkg/usr/src/linux-${_kernrel}<br />
cp -a scripts $startdir/pkg/usr/src/linux-${_kernrel}<br />
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/.tmp_versions<br />
cp arch/i386/Makefile $startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/<br />
cp arch/i386/kernel/asm-offsets.s \<br />
$startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/kernel/<br />
# copy in Kconfig files<br />
for i in `find . -name &quot;Kconfig*&quot;`; do<br />
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/`echo $i | sed 's|/Kconfig.*||'`<br />
cp $i $startdir/pkg/usr/src/linux-${_kernrel}/$i<br />
done<br />
cd $startdir/pkg/usr/src/linux-${_kernrel}/include && ln -s asm-i386 asm<br />
chown -R root.root $startdir/pkg/usr/src/linux-${_kernrel}<br />
cd $startdir/pkg/lib/modules/${_kernrel} && \<br />
(rm -f source build; ln -sf /usr/src/linux-${_kernrel} build)<br />
<br />
# Correct the pkgname in our PKGBUILD - this allows correct gensync operation<br />
# NOTE: pkgname variable must be declared with first 10 lines of PKGBUILD!<br />
cd $startdir<br />
sed -i &quot;1,11 s|pkgname=$old_pkgname|pkgname=$pkgname|&quot; ./PKGBUILD<br />
}<br />
# vim:syntax=sh<br />
</pre><br />
<br />
* Install your new pkg as normal.<br />
<br />
=== Your <code>config</code> file ===<br />
PLEASE NOTE: during the build the '''final''' kernel config is stored in your <code>$startdir</code> as, for example, <code>config-Apr13-12h</code>. Your '''original''' config remains in the <code>$startdir</code> named <code>config</code>. If you wish to use the new config in another build make sure you copy the correct file!<br />
<br />
===Update Bootloader===<br />
* Remember to edit the [[Lilo]] or [[Grub]] configuration files to include an entry to the new kernel. The new kernel will install alongside any existing stock or custom kernels, so you may wish to keep a reference to your old kernel in the bootloader config file, at least until you know the new one is working. THIS IS STRONGLY RECOMMENDED!<br />
<br />
* If you use lilo remember to run <code>lilo</code> to update it.<br />
<br />
=== Other versions ===<br />
There several variations on this PKGBUILD available, they are all provide identical results but the mechanics are slightly different:<br />
* [http://dtw.jiwe.org/share/kernel/PKGBUILDS/PKGBUILD.custom_kernel_patch patch] - includes the old <code>patch=</code> variable.<br />
* [http://dtw.jiwe.org/share/kernel/PKGBUILDS/PKGBUILD.custom_kernel_verbose verbose] - provides Package Info (like that shown above) for review before starting the make process.<br />
* [http://dtw.jiwe.org/share/kernel/PKGBUILDS/PKGBUILD.custom_kernel_buildstats buildstats] - similar to verbose but writes more info, including build times, to a file called buildstats, which is stored in the $startdir. This can also be reviewed before starting the make process but also provides a permenant record.<br />
<br />
=== I want the Arch logo! ===<br />
Copy the <code>logo_linux_clut224.ppm</code> from <code>/var/abs/kernels/kernel26</code> to your <code>$startdir</code> and add <code>logo_linux_clut224.ppm</code> to the source array. Then you need to paste the marked text (<code>>></code>) into the PKGBUILD as indicated:<br />
<br />
<pre><br />
##### Uncomment and apply any patches here<br />
#patch -Np1 -i ../patchname || return 1<br />
<br />
>> ##### Arch logo - not compatible with gensplash!<br />
>> cp ../logo_linux_clut224.ppm drivers/video/logo/<br />
<br />
# get rid of the 'i' in i686<br />
carch=`echo $CARCH | sed 's|i||'`<br />
cat ../config | sed &quot;s|#CARCH#|$carch|g&quot; >./.config<br />
</pre><br />
<br />
The stock Arch config uses the following logo settings, ensure you set them at the config stage or use the stock config:<br />
<br />
<pre><br />
#<br />
# Logo configuration<br />
#<br />
CONFIG_LOGO=y<br />
CONFIG_LOGO_LINUX_MONO=y<br />
CONFIG_LOGO_LINUX_VGA16=y<br />
CONFIG_LOGO_LINUX_CLUT224=y<br />
</pre><br />
<br />
=== Customization and Advanced Use normal people can stop here! ===<br />
Several people have successfully customized this PKGBUILD to their own needs, while others have derived a completely new approach from it. One customization recommended to people who make multiple builds of the same version for use in parallel is to add a sed command that automatically sets the <code>CONFIG_LOCALVERSION</code> variable in the config to a unique value before the config stage. This can based on the date, your hostname, etc.<br />
For example:<br />
<pre><br />
# get rid of the 'i' in i686<br />
carch=`echo $CARCH | sed 's|i||'`<br />
cat ../config | sed &quot;s|#CARCH#|$carch|g&quot; >./.config<br />
<br />
>> # set LOCALVERSION to -date<br />
>> sed -i &quot;s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=-`date +%y%m%d`|g&quot; ./.config<br />
<br />
##### Load config - uncomment your preferred config method<br />
#yes &quot;&quot; | make config<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
# set LOCALVERSION to -date-hostname<br />
sed -i &quot;s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=-`date +%y%m%d`-`hostname`|g&quot; ./.config<br />
</pre><br />
<br />
For a truly unique <code>LOCALVERSION</code> you can set the date to seconds since <code>00:00:00 1970-01-01 UTC</code>!<br />
<br />
<pre><br />
sed -i &quot;s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=-`date +%s`|g&quot; ./.config<br />
</pre><br />
<br />
=== Problems ===<br />
<br />
If you have problems with wrong package names try using the [http://dtw.jiwe.org/share/kernel/PKGBUILDS/PKGBUILD.custom_kernel_verbose verbose] PKGBUILD described in [[Custom_Kernel_Compilation_with_ABS#Other Versions|Other Versions]] above to see what naming scheme is being created before you commit to the build - you can quit with ''ctrl+c'' at most points before the make starts.<br />
<br />
=== Feedback ===<br />
If you have any questions/comments/suggestions about the above PKGBUILD feel free to join the discussion at: http://bbs.archlinux.org/viewtopic.php?t=9272<br />
<br />
Some suggestions have already been incorporated but please consider the Keep It Simple philosophy and remember the original goal. Kernel compilation is a very individual process and there are a HUGE variety of ways to go about it this PKGBUILD does not even attempt to account for all eventualities, it would be fruitless to try but of course you are completely free to customize this build to your precise needs best of luck!<br />
<br />
''DibbleTheWrecker''</div>83.76.168.163https://wiki.archlinux.org/index.php?title=Quick_Arch_Linux_Install_(Slovensk%C3%BD)&diff=6867Quick Arch Linux Install (Slovenský)2005-12-13T20:08:26Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:Installation]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Quick Archlinux Install}}<br />
{{i18n_entry|繁體中文|Archlinux 快速安裝教學}}<br />
{{i18n_entry|Slovak|Rýchla inštalácia Archlinuxu}}<br />
{{i18n_links_end}}<br />
<br />
Tento dokument vás prevedie základnou inštaláciou Archlinuxu. Je založený na inštalačných skriptoch verzie 0.6 (widget).<br />
<br />
== Úvod==<br />
<br />
Toto je rýchle prevedenie inštaláciou pre tých, ktorí ešte nevedia čo je to Arch a čo všetko dokáže. Je napísané hlavne pre tých, ktorí už majú na svojom harddisku existujúcu partíciu Windowsu a chcú si nainštalovať Arch linux bez narušenia inštalácie Windowsu.<br />
<br />
Tento sprievodca je pre "normálny" hardware, nič špeciálneho (ako napr. scsi) nie je v tomto dokumente obsiahnuté.<br />
<br />
Predpokladá sa, že Windows existuje na prvej partícii harddisku, inak ho grub nebude vedieť nájsť.<br />
<br />
== Nevyhnutné veci==<br />
<br />
* CD so základnou inštaláciou Archlinuxu (Base-Installation-CD) alebo CD s plnou inštaláciou (Full-Installation-CD). {{sn|Stiahnite si [http://www.archlinux.org/download.php odtiaľ]}}<br />
* Buď jeden voľný harddisk alebo voľné miesto na jednej partícii. Toto voľné miesto musíte oddeliť od existujúcej partície vo windowse s nástrojmi na úpravu partícií (ako napr. partition magic).<br />
<br />
== Inštalácia z Arch-CD ==<br />
<br />
* Vložte CD do vašej mechaniky, reštartujte a skontrolujte, či váš BIOS bootuje najprv z CD-ROM mechaniky.<br />
* Teraz by to malo vyzerať takto:<br />
<br />
http://home.arcor.de/Langeland/1.png<br />
Východzia bootovacia obrazovka Archu<br />
<br />
* Stlačte <code>Enter</code><br />
* Po skončení bootovacieho procesu, napíšte:<br />
<pre><br />
/arch/setup<br />
</pre><br />
<br />
Najprv budete inštalovať z CD, takže sieťové ovládače nie sú nutné.<br />
<br />
Objaví sa Hlavné Menu:<br />
<br />
http://home.arcor.de/Langeland/6.png <br />
Hlavné Menu<br />
<br />
=== Vytvoriť partície na harddisku===<br />
<br />
Ak máte úplne prázdny harddisk, môžete tieto kroky preskočiť a zvoliť Auto-Partitioning. Prosím majte na pamäti, že týmto vymažete všetky partície z vášho harddisku! Ak niektoré partície chcete ponechať na vašom harddisku, postupujte podľa nasledujúcich krokov:<br />
<br />
* Zvoľte Prepare Hard-Drive.<br />
* Vyberte Partition Hard-Drive.<br />
* Zvoľte the Disc you want Arch-Linux to be installed on.<br />
* Otvorí sa cfdisk-program na úpravu partícií a môžete vytvoriť partície. U základnej inštalácie Archu (Base-Installation) sú potrebné aspoň dve partície:<br />
* jedna swap partícia<br />
* jedna dátová partícia<br />
<br />
* V tomto okamihu displej môže vyzerať asi takto (ak máte ntfs-partíciu pre windows):<br />
<br />
http://home.arcor.de/Langeland/9.png <br />
cfdisk<br />
<br />
* Nijakým spôsobom sa nedotknite ntfs (alebo vfat) partície, lebo inak môžete stratiť Windows.<br />
* Typ swap partície by sa mal nastaviť zadaním typu partície 82<br />
* Ak chcete opustiť cfdisk bez uloženia zmien, tak stlačte quit, inak stlačte write.<br />
* Po použití cfdisk-u by to malo vyzerať takto:<br />
<br />
http://home.arcor.de/Langeland/10.png <br />
Usporiadanie partícií<br />
<br />
=== Nastaviť body pripojenia===<br />
* Zvoľte bod 3: Set Filesystem Mountpoints<br />
* Zvoľte partíciu ktorú ste označili ako swap<br />
* Zvoľte tú druhú partíciu pre systém (ktorá bude pripojená ako /)<br />
* Zvoľte systém súborov ext3<br />
* Zvoľte DONE !!<br />
''Tento posledný krok je veľmi dôležitý, mnoho ľudí tento krok vynechá, ale žiadna činnosť sa nevykoná, kým nezvolíte DONE - ak to neurobíte, bude sa zdať že inštalácia funguje, ale žiadne súbory sa nenainštalujú''<br />
<br />
=== Vybrať balíčky===<br />
<br />
* Zvoľte CD<br />
* Teraz by to malo vyzerať takto:<br />
<br />
http://home.arcor.de/Langeland/11.png <br />
Kategórie balíčkov<br />
<br />
* Nateraz by ste si mali vybrať len základné (base) a editory (editors).<br />
* Zrejme chcete zvoliť všetky balíčky v daných kategóriách ako východzie<br />
* Len stlačte OK.<br />
<br />
=== Inštalovať balíčky===<br />
<br />
* Toto je dosť jednoduché: Stačí stlačiť install packages, potom ok a všetko sa skopíruje z CD na harddisk.<br />
<br />
=== Inštalovať jadro===<br />
<br />
* Pokiaľ viete, že nemáte iný hardware, vyberte 2.6 IDE.<br />
<br />
=== Upraviť konfiguračné súbory===<br />
<br />
* Vyberte nano na úpravu súborov<br />
Ak chcete zmeniť layout klávesnice, '''musíte upraviť súbor rc.conf'''. Napríklad sk je slovenská.<br />
<br />
* nano je ľahké na pochopenie: Ctrl-o uloží súbor, Ctrl-x uloží súbor a opustí nano.<br />
* Zmeňte riadok s <code >keymap us</code > na <code>keymap sk</code><br />
''' Musíte upraviť '''menu.lst*.<br />
* Tu môžete vytvoriť váš bootloader. V ňom môžete prepínať medzi windowsom a linuxom.<br />
* Uvidíte súbor ako je tento:<br />
<br />
http://home.arcor.de/Langeland/13.png <br />
Menu.lst<br />
<br />
* Všetko by malo byť nastavené správne na bootovanie do archu, už len stačí pridať nasledujúce riadky na koniec, aby ste mali možnosť bootovať windows:<br />
<pre><br />
title Windows<br />
rootnoverify (hd0,0)<br />
chainloader +1<br />
</pre><br />
<br />
Stlačte Ctrl-O, Ctrl-X a všetko je uložené.<br />
<br />
=== Inštalovať bootloader===<br />
<br />
* Zvoľte grub.<br />
* Vyberte položku na vrchu zoznamu.<br />
<br />
=== Pripravený reštartovať===<br />
<br />
* Opustite hlavné menu, napíšte reboot a počítač by mal reštartovať.<br />
* Vyberte CD von z mechaniky.<br />
* Môžete si vybrať medzi windowsom a archom, prednastavený je arch.<br />
<br />
== Alternatívne metódy inštalácie==<br />
* [[Fast Arch Install from existing Linux System]]<br />
* [http://www.archlinux.org/docs/en/guide/install/arch-install-guide.html The Official Arch Linux Installation Guide]<br />
<br />
== Prvé kroky v Archu==<br />
<br />
* Prihláste sa ako root.<br />
* Vykonajte príkaz <code >passwd</code > aby ste nastavili pre roota heslo.<br />
<pre><br />
# passwd<br />
</pre><br />
* Pridajte používateľa. Môžete využiť skript adduser. Váš používateľ by mal byť v skupinách users, audio a optical.<br />
<pre><br />
# adduser<br />
</pre><br />
<br />
Teraz je čas spojazdniť váš internet a začať inštalovať balíčky s Pacman-om.<br />
Užite si!</div>83.76.168.163https://wiki.archlinux.org/index.php?title=Mutt&diff=6866Mutt2005-12-13T20:08:00Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:Desktop]]<br />
Mutt is a text-based mail client renowned for its powerful features. Mutt, though over a decade old, remains the mail client of choice for great number of power-users. Unfortunately, a default mutt install is plagued by complex keybindings, and a daunting amount of documentation. This guide will help the average user get mutt up and running, and begin customizing it to his/her taste.<br />
<br />
== Quick Start ==<br />
<br />
=== What Mutt Does Not Do ===<br />
Mutt is a Mail User Agent (MUA), and was written to view mail. It was not written to retrieve, send, or sort mail. It relies on external programs to do those tasks. For this wiki, we will be using getmail to retrieve our mail, procmail to sort our mail, and msmtp to send our mail.<br />
<br />
==Setting up for POP mail==<br />
<br />
Because IMAP protocol does not cache your mail locally you can skip this section.<br />
<br />
=== Retrieving Mail ===<br />
First install [http://pyropus.ca/software/getmail/ getmail]. It is in the <code>[extra]</code> repository.<br />
pacman -S getmail<br />
Now create the directory <code>~/.getmail/</code>. Open the file <code>~/.getmail/getmailrc</code> in your favorite text editor.<br />
<br />
Here is an example <code>getmailrc</code> used with a gmail account.<br />
<pre><br />
[retriever]<br />
type = SimplePOP3SSLRetriever<br />
server = pop.gmail.com<br />
username = username@gmail.com<br />
port = 995<br />
password = password<br />
<br />
[destination]<br />
type = Maildir<br />
path = ~/mail<br />
</pre><br />
<br />
You can tweak this to your POP3 service's specification.<br />
<br />
For this guide we will be storing our mail in the <code>maildir</code> format. The two main mailbox formats are <code>mbox</code> and <code>maildir</code>. The main difference between the two is that <code>mbox</code> is one file, with all of your mails and their headers stored in it, whereas a <code>maildir</code> is a directory tree. Each mail is its own file, which will often speed things up.<br />
<br />
A <code>maildir</code> is just a folder with the folders <code>cur</code>, <code>new</code> and <code>tmp</code> in it.<br />
mkdir -p ~/mail/{cur,new,tmp}<br />
<br />
Now, run getmail. If it works fine, you can create a cronjob for getmail to run every n hours/minutes. Type <code>crontab -e</code> to edit cronjobs, and enter the following:<br />
/30 * * * * /usr/bin/getmail<br />
That will run <code>getmail</code> every 30 minutes.<br />
<br />
=== Sorting Mail ===<br />
<br />
[http://www.procmail.org/ Procmail] is an extremely powerful sorting tool. For the purposes of this wiki, we will do some primitive sorting to get started.<br />
<br />
First, install procmail. It is in the <code>[current]</code> repository.<br />
pacman -S procmail<br />
You must edit your getmailrc to pass retrieved mail to procmail.<br />
<pre><br />
[destination]<br />
type = MDA_external<br />
path = /usr/bin/procmail<br />
</pre><br />
<br />
Now, open up <code>.procmailrc</code> in your favorite editor. The following will sort all mail from the happy-kangaroos mailing list, and all mail from your lovey-dovey friend in their own maildirs.<br />
<pre><br />
MAILDIR=$HOME/mail<br />
DEFAULT=$MAILDIR/inbox/<br />
LOGFILE=$MAILDIR/log<br />
<br />
:0<br />
* ^TOhappy-kangaroos@nicehost.com<br />
happy-kangaroos/<br />
<br />
* ^FROMloveydovey@iheartyou.net<br />
lovey-dovey/<br />
</pre><br />
After you've saved your <code>.procmailrc</code>, run getmail and see if procmail succeeds in sorting your mail into the appropriate directories.<br />
<br />
==Setting up for SMTP==<br />
<br />
Whether you use POP or IMAP to recieve mail you will probably still send mail using SMTP.<br />
<br />
=== Sending Mail ===<br />
[http://msmtp.sourceforge.net/ Msmtp] is a very simple and easy to use smtp client. It is in the <code>[extra]</code> repository.<br />
pacman -S msmtp<br />
Open up <code>~/.msmtprc</code> in your favorite editor. The following is an example of an <code>.msmtprc</code> for a gmail account:<br />
<pre><br />
account default<br />
host smtp.gmail.com<br />
port 587<br />
protocol smtp<br />
auth on<br />
from username@gmail.com<br />
user username@gmail.com<br />
password mypassword<br />
tls on<br />
tls_starttls on<br />
</pre><br />
Now mutt must be configured to use msmtp. Make a directory <code>~/.mutt/</code>, and open up <code>~/.mutt/muttrc</code>. The following should get you started viewing and sending mail.<br />
<pre><br />
set realname='Disgruntled Kangaroo'<br />
<br />
set sendmail="/usr/bin/msmtp"<br />
<br />
set edit_headers=yes<br />
set folder=~/mail<br />
set mbox=+mbox<br />
set spoolfile=+inbox<br />
set record=+sent<br />
set postponed=+drafts<br />
set mbox_type=Maildir<br />
<br />
mailboxes +inbox +lovey-dovey +happy-kangaroos<br />
</pre><br />
<br />
Now, startup mutt. You should see all the mail in <code>~/mail/inbox</code>. Press <code>m</code> to compose mail (it will use the editor defined by your <code>EDITOR</code> environment variable. If this variable is not set, type <code>export EDITOR=/path/to/yourfavorite/editor</code>. For testing purposes, address the letter to yourself. After you have written the lovely letter, use your editor's save and exit command. You will return to mutt, which will show you information about your e-mail. Press <code>y</code> to send it. If everything works, congratulations! You can use mutt! However, realizing the true power of mutt comes with much customizing.<br />
<br />
== Customizing Mutt ==<br />
<br />
Coming Soon, but until then, you can view some sample mutt configs at the [http://wiki.mutt.org/?ConfigList Mutt Wiki]. <br />
<br />
[[User:Xterminus|xterminus]] is pretty active in the mutt community, so if you have any mutt specific questions, feel free to ask in [[ArchChannel|the irc channel]].</div>83.76.168.163https://wiki.archlinux.org/index.php?title=Start_X_at_login&diff=6865Start X at login2005-12-13T20:07:31Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:XServer]]<br />
==== Q: How can I start X at boot time in Arch?====<br />
<br />
<br />
A: Edit your <code>/etc/inittab</code><br />
The first uncommented line should be something like this:<br />
id:3:initdefault:<br />
<br />
Change it to:<br />
id:5:initdefault:<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?t=863 Forum Topic]<br />
<br />
You may also want to change the last line of the <code>/etc/inittab</code> to [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup | start kdm or gdm instead of xdm]].<br />
----<br />
An alternative is to add something like the following to the bottom of your <code>~/.bashrc</code>:<br />
<pre><br />
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/vc/1 ]]; then<br />
startx<br />
fi<br />
</pre><br />
This way X is automatically started when you log in at the first console.<br />
----<br />
I just put startxfce4 in <code>/etc/rc.local</code><br />
----<br />
A final option is to add a display manager (<code>kdm</code>, <code>gdm</code>, or <code>xdm</code>) to the DAEMONS array in <code>/etc/rc.conf</code></div>83.76.168.163https://wiki.archlinux.org/index.php?title=KDE&diff=6864KDE2005-12-13T20:06:29Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:Desktop]]<br />
[[Category:Desktop Environment]]<br />
<br />
{{stub}}<br />
<br />
==WELCOME TO ARCHLINUX KDE WIKI==<br />
<br />
===Info from Package Maintainer tpowa:===<br />
<pre><br />
Please don't change the docu without notifying me, <br />
please send me a short mail about your changes.<br />
This docu is based on kde 3.4.1!<br />
</pre><br />
<br />
====Package upgrade:====<br />
<pre><br />
Please change to console mode before you upgrade KDE, <br />
else your icons may get lost in your panel.<br />
<br />
Update from kde3.4 Beta1 to kde 3.4:<br />
please deinstall kdebase-config, it's replaced by kde-common.<br />
If you get trouble with menus not appearing, please deinstall kde first<br />
and then reinstall with new packages.<br />
</pre><br />
<br />
====Where to get kde 3.4:====<br />
<pre><br />
It is available in extra repository.<br />
Thanks for your feedback. Enjoy the new kde release.<br />
Have fun with the new features and please report problems.<br />
</pre><br />
Forum link for dicussion: [http://bbs.archlinux.org/viewtopic.php?p=89919]<br />
<br />
====Known issues:====<br />
<pre><br />
If you still have problems after the upgrade,consider your .kde/ could have<br />
configs inside, that are not compatible with new kde 3.4. Please move the<br />
files to a save place and start with a new .kde/ dir in your home.<br />
<br />
If you have installed extensions or additional software for kde<br />
(not from our repos),it could be that they break kde 3.4. <br />
Please rebuild them against new kde 3.4 or deinstall them.<br />
<br />
devices:/ kioslave is depracted, to get new layout:<br />
please delete your /home/$user/.kde/share/apps/konqsidebartng/<br />
<br />
kde 3.4 provides new feature of kcompmgr (composite extension of xorg),<br />
if you enable it, it may crash your X-Server, you have been warned.<br />
<br />
storage applet can cause some extensive logging, be aware of this problem <br />
and check your /var/log/ on size. It happens only if you do a safely remove,<br />
let the usb device connected and your usb device must be some kind of broken.<br />
<br />
KSim panel applet crashes from time to time.<br />
<br />
NFS shares are not shown on desktop, storage applet and not in media:/<br />
</pre><br />
link to KSim bug: [http://bugs.kde.org/show_bug.cgi?id=101261] <br> link to NFS bug: [http://bugs.kde.org/show_bug.cgi?id=101731]<br />
<br />
====KDEBASE====<br />
''' '''Samba/Windows support:<br />
<pre><br />
If you want to have access to Windows services<br />
'pacman -S samba'.<br />
</pre><br />
<br />
''' '''Java support:<br />
<pre><br />
If you want to have Java support:<br />
'pacman -S j2re'<br />
</pre><br />
<br />
''' '''Printing support:<br />
<pre><br />
If you want to have printing support:<br />
'pacman -S <enteryourfavouriteprintingsystemhere>'<br />
it is preconfigured for cups in kcontrol<br />
</pre><br />
<br />
''' '''Font Defaults:<br />
<pre><br />
If you experience problems with the default fonts setting, e.g.<br />
that special characters for your language do not appear, try to<br />
set the fonts in 'kcontrol to a font which supports that characters<br />
</pre><br />
<br />
''' '''KDM Xserver file:<br />
<pre><br />
KDM does not use the /opt/kde/share/config/kdm/Xserver file any more,<br />
everything is in /opt/kde/share/config/kdm/kdmrc now, check file<br />
kdmrc.default to see all options (e.g. -dpi 100).<br />
</pre><br />
<br />
''' '''Dbus/Hal Stuff:<br />
<pre><br />
Please add 'dbus' 'hal' to rc.conf daemon's list <br />
for full media:/ kioslave experience.<br />
</pre><br />
<br />
''' '''GPG/SSH Stuff:<br />
<pre><br />
To enable gpg-agent and/or ssh-agent in KDE sessions,<br />
edit '/opt/kde/env/agent-startup.sh' and<br />
'/opt/kde/shutdown/agent-shutdown.sh'.<br />
</pre><br />
<br />
====Kdebindings:====<br />
<pre><br />
Kdebindings has been built with support for Java and GTK.<br />
If you want to use these features use the following pacman commands:<br />
'pacman -S j2sdk'<br />
'pacman -S gtk'<br />
</pre><br />
<br />
====Kdesdk:====<br />
<pre><br />
Kdesdk has been built with support for Subversion.<br />
If you want to use this feature use the following pacman command:<br />
'pacman -S subversion'<br />
</pre><br />
<br />
====Changing DPI settings for KDM:====<br />
<pre><br />
Changing the DPI settings for KDE can be a little daunting, but this<br />
will show you how to do it.<br />
First, as root, you need to open the /opt/kde/share/config/kdm/kdmrc<br />
file and add ServerArgsLocal=-dpi 96 to the [X-:*-Core] section (Or<br />
what ever DPI you want).<br />
Then, you simply exit out and restart X (CTRL+ALT+BACKSPACE). <br />
Note, this only applies if you are using KDM. If you are not using KDE,<br />
then the file you want to edit is /usr/X11/bin/startx. You will see a <br />
line for defaultserverargs. Add "-dpi 96" (or what ever dpi you want) <br />
and restart X.<br />
</pre><br />
<br />
====Bugs:====<br />
<pre><br />
If you think you found a bug, please verify that this bug also happens<br />
with a new created user, with a clean setup, some bugs happen due to<br />
misconfiguration in config files. If the new user doesn't show the bug, <br />
try to move the config files of your existing user.<br />
<br />
kde config files are usually located at: /home/$user/.kde/share/config<br />
or if app specific at: /home/$user/.kde/share/apps<br />
</pre><br />
<br />
'''Useful links:''' <BR><br />
Archlinux Bug Tracker: [http://bugs.archlinux.org] <BR><br />
KDE Homepage: [http://www.kde.org] <BR><br />
KDE Bug Tracker: [http://bugs.kde.org] <BR><br />
KDE WebSVN: [http://websvn.kde.org] <BR><br />
Control X Font DPI [http://process-of-elimination.net/index.php?title=Control_Font_DPI_in_X] <BR> <br />
====About KDE package splitting:====<br />
<pre><br />
The problem is that KDE has to change their packages in providing.<br />
pacman is not made for making multiple packages out of one tarball.<br />
And don't forget it has to be maintainable. (not too time consuming!)<br />
I'm not planning to split the packages.<br />
</pre><br />
<br />
====About why do packages appear before official release:====<br />
<pre><br />
Packagers get the tarballs a week earlier then official release, to have time<br />
to build and fix last showstoppers while building.<br />
--> the packages are most time the final ones when they appear in arch repos,<br />
even before offical release.<br />
</pre></div>83.76.168.163https://wiki.archlinux.org/index.php?title=Ion3&diff=6863Ion32005-12-13T20:06:18Z<p>83.76.168.163: remove spam</p>
<hr />
<div>[[Category:Desktop]]<br />
[[Category:Window Manager]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Ion3}}<br />
{{i18n_entry|简体中文|Ion3 简介}}<br />
{{i18n_links_end}}<br />
<br />
= Introduction =<br />
[http://iki.fi/tuomov/ion/ Ion] is a tiling window manager with tabbed frames. It uses Lua as an embedded interpreter which handles all of the configuration. It mainly uses the keyboard to access the functions but also supports the mouse for some things. <br />
<br />
= Installation =<br />
Ion3 is still in development and hasn't been released yet but packages for the development snapshots can be found in the community repository.<br><br />
Refresh Pacman and run the following command:<br />
pacman -S ion3-devel<br />
If you want a bunch of extra scripts you can run the following command(optional):<br />
pacman -S ion3-devel-scripts<br />
Copy the configurationfiles to your home directory:<br />
cp /etc/ion3/* ~/.ion3<br />
To start Ion3 just append the following line in '''<code>~/.xinitrc</code>''' :<br />
exec ion3<br />
Now you're ready to begin to configure Ion as described below.<br />
<br />
= Configuration =<br />
<br />
<i>'''Note:''' The files below have been heavily modified from the defaults to better suit my needs. /xerxes2</i><br />
== cfg_ion.lua ==<br />
This is Ion3' main configurationfile.<br />
<pre><br />
-- Ion main configuration file<br />
--<br />
<br />
--<br />
-- Some basic setup<br />
--<br />
<br />
-- Set default modifiers. Alt should usually be mapped to Mod1 on<br />
-- XFree86-based systems. The flying window keys are probably Mod3<br />
-- or Mod4; see the output of 'xmodmap'.<br />
MOD1="Mod4+"<br />
MOD2="Mod1+"<br />
<br />
ioncore.set{<br />
-- Maximum delay between clicks in milliseconds to be considered a<br />
-- double click.<br />
dblclick_delay=250,<br />
<br />
-- For keyboard resize, time (in milliseconds) to wait after latest<br />
-- key press before automatically leaving resize mode (and doing<br />
-- the resize in case of non-opaque move).<br />
kbresize_delay=1500,<br />
<br />
-- Opaque resize?<br />
opaque_resize=false,<br />
<br />
-- Movement commands warp the pointer to frames instead of just<br />
-- changing focus. Enabled by default.<br />
warp=true,<br />
<br />
-- Default workspace type.<br />
default_ws_type="WIonWS",<br />
}<br />
<br />
<br />
--<br />
-- Load some modules, extensions and other configuration files<br />
--<br />
<br />
-- Load some modules.<br />
dopath("mod_query")<br />
dopath("mod_menu")<br />
dopath("mod_ionws")<br />
dopath("mod_floatws")<br />
dopath("mod_panews")<br />
--dopath("mod_statusbar")<br />
--dopath("mod_dock")<br />
dopath("mod_sp")<br />
<br />
-- Load some kludges to make apps behave better.<br />
dopath("cfg_kludges")<br />
<br />
-- Make some bindings.<br />
dopath("cfg_bindings")<br />
<br />
-- Define some menus (mod_menu required)<br />
dopath("cfg_menus")<br />
<br />
-- Load additional user configuration. 'true' as second parameter asks<br />
-- Ion not to complain if the file is not found.<br />
dopath("cfg_user", true)<br />
</pre><br />
The Modkeyes handles your hotkeys when you holds them in(Modkey + hotkey). The '''<code>dopath</code>''' command includes modules that Ion should load on startup. Just uncomment those you don't want to load.<br />
<br />
== cfg_bindings.lua ==<br />
In this file you set your basic keybindings.<br />
<pre><br />
-- <br />
-- Ion bindings configuration file. Global bindings and bindings common <br />
-- to screens and all types of frames only. See modules' configuration <br />
-- files for other bindings.<br />
--<br />
<br />
<br />
-- WScreen context bindings<br />
--<br />
-- The bindings in this context are available all the time.<br />
--<br />
-- The variable MOD1 should contain a string of the form 'Mod1+'<br />
-- where Mod1 maybe replaced with the modifier you want to use for most<br />
-- of the bindings. Similarly MOD2 may be redefined to add a <br />
-- modifier to some of the F-key bindings.<br />
<br />
defbindings("WScreen", {<br />
bdoc("Switch to n:th object (workspace, full screen client window) "..<br />
"within current screen."),<br />
kpress(MOD1.."1", "WScreen.switch_nth(_, 0)"),<br />
kpress(MOD1.."2", "WScreen.switch_nth(_, 1)"),<br />
kpress(MOD1.."3", "WScreen.switch_nth(_, 2)"),<br />
kpress(MOD1.."4", "WScreen.switch_nth(_, 3)"),<br />
kpress(MOD1.."5", "WScreen.switch_nth(_, 4)"),<br />
kpress(MOD1.."6", "WScreen.switch_nth(_, 5)"),<br />
kpress(MOD1.."7", "WScreen.switch_nth(_, 6)"),<br />
kpress(MOD1.."8", "WScreen.switch_nth(_, 7)"),<br />
kpress(MOD1.."9", "WScreen.switch_nth(_, 8)"),<br />
kpress(MOD1.."0", "WScreen.switch_nth(_, 9)"),<br />
<br />
-- bdoc("Switch to next/previous object within current screen."),<br />
-- kpress(MOD2.."comma", "ioncore.goto_previous()"),<br />
-- kpress(MOD2.."period", "ioncore.goto_next()"),<br />
<br />
kpress(MOD1.."Left", "WScreen.switch_prev(_)"),<br />
kpress(MOD1.."Right", "WScreen.switch_next(_)"),<br />
<br />
<br />
<br />
submap(MOD1.."K", {<br />
bdoc("Go to previous active object."),<br />
kpress("K", "ioncore.goto_previous()"),<br />
<br />
bdoc("Clear all tags."),<br />
kpress("T", "ioncore.clear_tags()"),<br />
}),<br />
<br />
bdoc("Go to n:th screen on multihead setup."),<br />
kpress(MOD1.."Shift+1", "ioncore.goto_nth_screen(0)"),<br />
kpress(MOD1.."Shift+2", "ioncore.goto_nth_screen(1)"),<br />
<br />
bdoc("Go to next/previous screen on multihead setup."),<br />
kpress(MOD1.."Shift+Left", "ioncore.goto_next_screen()"),<br />
kpress(MOD1.."Shift+Right", "ioncore.goto_prev_screen()"),<br />
<br />
bdoc("Create a new workspace of chosen default type."),<br />
kpress(MOD1.."F9", "ioncore.create_ws(_)"),<br />
<br />
bdoc("Display the main menu."),<br />
kpress(MOD1.."F12", "mod_menu.bigmenu(_, _sub, 'mainmenu')"),<br />
mpress("Button3", "mod_menu.pmenu(_, _sub, 'mainmenu')"),<br />
<br />
bdoc("Display the window list menu."),<br />
mpress("Button2", "mod_menu.pmenu(_, _sub, 'windowlist')"),<br />
})<br />
<br />
<br />
-- WMPlex context bindings<br />
--<br />
-- These bindings work in frames and on screens. The innermost of such<br />
-- contexts/objects always gets to handle the key press. Most of these <br />
-- bindings define actions on client windows. (Remember that client windows <br />
-- can be put in fullscreen mode and therefore may not have a frame.)<br />
-- <br />
-- The "_sub:WClientWin" guards are used to ensure that _sub is a client<br />
-- window in order to stop Ion from executing the callback with an invalid<br />
-- parameter if it is not and then complaining.<br />
<br />
defbindings("WMPlex", {<br />
bdoc("Close current object."),<br />
kpress_wait(MOD1.."C", "WRegion.rqclose_propagate(_, _sub)"),<br />
<br />
bdoc("Nudge current client window. This might help with some "..<br />
"programs' resizing problems."),<br />
kpress_wait(MOD1.."L", <br />
"WClientWin.nudge(_sub)", "_sub:WClientWin"),<br />
<br />
bdoc("Toggle fullscreen mode of current client window."),<br />
kpress_wait(MOD1.."Return", <br />
"WClientWin.set_fullscreen(_sub, 'toggle')", <br />
"_sub:WClientWin"),<br />
<br />
submap(MOD1.."K", {<br />
bdoc("Kill client owning current client window."),<br />
kpress("C", "WClientWin.kill(_sub)", "_sub:WClientWin"),<br />
<br />
bdoc("Send next key press to current client window. "..<br />
"Some programs may not allow this by default."),<br />
kpress("Q", "WClientWin.quote_next(_sub)", "_sub:WClientWin"),<br />
}),<br />
<br />
bdoc("Query for manual page to be displayed."),<br />
kpress(MOD2.."F1", "mod_query.query_man(_, ':man')"),<br />
<br />
bdoc("Show the Ion manual page."),<br />
kpress(MOD1.."F1", "ioncore.exec_on(_, ':man ion3')"),<br />
<br />
bdoc("Run a terminal emulator."),<br />
kpress(MOD1.."F2", "ioncore.exec_on(_, 'urxvt')"),<br />
<br />
bdoc("Query for command line to execute."),<br />
kpress(MOD2.."F3", "mod_query.query_exec(_)"),<br />
<br />
bdoc("Query for Lua code to execute."),<br />
kpress(MOD1.."F3", "mod_query.query_lua(_)"),<br />
<br />
bdoc("Query for host to connect to with SSH."),<br />
kpress(MOD2.."F4", "mod_query.query_ssh(_, ':ssh')"),<br />
<br />
bdoc("Query for file to edit."),<br />
kpress(MOD2.."F5", <br />
"mod_query.query_editfile(_, 'run-mailcap --action=edit')"),<br />
<br />
bdoc("Query for file to view."),<br />
kpress(MOD2.."F6", <br />
"mod_query.query_runfile(_, 'run-mailcap --action=view')"),<br />
<br />
bdoc("Query for workspace to go to or create a new one."),<br />
kpress(MOD2.."F9", "mod_query.query_workspace(_)"),<br />
<br />
bdoc("Query for a client window to go to."),<br />
kpress(MOD1.."G", "mod_query.query_gotoclient(_)"),<br />
})<br />
<br />
<br />
-- WFrame context bindings<br />
--<br />
-- These bindings are common to all types of frames. The rest of frame<br />
-- bindings that differ between frame types are defined in the modules' <br />
-- configuration files.<br />
<br />
defbindings("WFrame", {<br />
bdoc("Tag current object within the frame."),<br />
kpress(MOD1.."T", "WRegion.set_tagged(_sub, 'toggle')", "_sub:non-nil"),<br />
<br />
submap(MOD1.."K", {<br />
bdoc("Switch to n:th object within the frame."),<br />
kpress("1", "WFrame.switch_nth(_, 0)"),<br />
kpress("2", "WFrame.switch_nth(_, 1)"),<br />
kpress("3", "WFrame.switch_nth(_, 2)"),<br />
kpress("4", "WFrame.switch_nth(_, 3)"),<br />
kpress("5", "WFrame.switch_nth(_, 4)"),<br />
kpress("6", "WFrame.switch_nth(_, 5)"),<br />
kpress("7", "WFrame.switch_nth(_, 6)"),<br />
kpress("8", "WFrame.switch_nth(_, 7)"),<br />
kpress("9", "WFrame.switch_nth(_, 8)"),<br />
kpress("0", "WFrame.switch_nth(_, 9)"),<br />
<br />
bdoc("Switch to next/previous object within the frame."),<br />
kpress("N", "WFrame.switch_next(_)"),<br />
kpress("P", "WFrame.switch_prev(_)"),<br />
<br />
bdoc("Move current object within the frame left/right."),<br />
kpress("comma", "WFrame.dec_index(_, _sub)", "_sub:non-nil"),<br />
kpress("period", "WFrame.inc_index(_, _sub)", "_sub:non-nil"),<br />
<br />
bdoc("Maximize the frame horizontally/vertically."),<br />
kpress("H", "WFrame.maximize_horiz(_)"),<br />
kpress("V", "WFrame.maximize_vert(_)"),<br />
<br />
bdoc("Attach tagged objects to this frame."),<br />
kpress("A", "WFrame.attach_tagged(_)"),<br />
}),<br />
<br />
kpress(MOD1.."comma", "WFrame.switch_prev(_)"),<br />
kpress(MOD1.."period", "WFrame.switch_next(_)"),<br />
<br />
bdoc("Query for a client window to attach to active frame."),<br />
kpress(MOD1.."A", "mod_query.query_attachclient(_)"),<br />
<br />
bdoc("Display frame context menu."),<br />
kpress(MOD1.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"),<br />
mpress("Button3", "mod_menu.pmenu(_, _sub, 'ctxmenu')"),<br />
<br />
bdoc("Begin move/resize mode."),<br />
kpress(MOD1.."R", "WFrame.begin_kbresize(_)"),<br />
<br />
bdoc("Switch the frame to display the object indicated by the tab."),<br />
mclick("Button1@tab", "WFrame.p_switch_tab(_)"),<br />
mclick("Button2@tab", "WFrame.p_switch_tab(_)"),<br />
<br />
bdoc("Resize the frame."),<br />
mdrag("Button1@border", "WFrame.p_resize(_)"),<br />
mdrag(MOD1.."Button3", "WFrame.p_resize(_)"),<br />
<br />
bdoc("Move the frame."),<br />
mdrag(MOD1.."Button1", "WFrame.p_move(_)"),<br />
<br />
bdoc("Move objects between frames by dragging and dropping the tab."),<br />
mdrag("Button1@tab", "WFrame.p_tabdrag(_)"),<br />
mdrag("Button2@tab", "WFrame.p_tabdrag(_)"),<br />
<br />
})<br />
<br />
<br />
-- WMoveresMode context bindings<br />
-- <br />
-- These bindings are available keyboard move/resize mode. The mode<br />
-- is activated on frames with the command begin_kbresize (bound to<br />
-- MOD1.."R" above by default).<br />
<br />
defbindings("WMoveresMode", {<br />
bdoc("Cancel the resize mode."),<br />
kpress("AnyModifier+Escape","WMoveresMode.cancel(_)"),<br />
<br />
bdoc("End the resize mode."),<br />
kpress("AnyModifier+Return","WMoveresMode.finish(_)"),<br />
<br />
bdoc("Grow in specified direction."),<br />
kpress("Left", "WMoveresMode.resize(_, 1, 0, 0, 0)"),<br />
kpress("Right", "WMoveresMode.resize(_, 0, 1, 0, 0)"),<br />
kpress("Up", "WMoveresMode.resize(_, 0, 0, 1, 0)"),<br />
kpress("Down", "WMoveresMode.resize(_, 0, 0, 0, 1)"),<br />
kpress("F", "WMoveresMode.resize(_, 1, 0, 0, 0)"),<br />
kpress("B", "WMoveresMode.resize(_, 0, 1, 0, 0)"),<br />
kpress("P", "WMoveresMode.resize(_, 0, 0, 1, 0)"),<br />
kpress("N", "WMoveresMode.resize(_, 0, 0, 0, 1)"),<br />
<br />
bdoc("Shrink in specified direction."),<br />
kpress("Shift+Left", "WMoveresMode.resize(_,-1, 0, 0, 0)"),<br />
kpress("Shift+Right", "WMoveresMode.resize(_, 0,-1, 0, 0)"),<br />
kpress("Shift+Up", "WMoveresMode.resize(_, 0, 0,-1, 0)"),<br />
kpress("Shift+Down", "WMoveresMode.resize(_, 0, 0, 0,-1)"),<br />
kpress("Shift+F", "WMoveresMode.resize(_,-1, 0, 0, 0)"),<br />
kpress("Shift+B", "WMoveresMode.resize(_, 0,-1, 0, 0)"),<br />
kpress("Shift+P", "WMoveresMode.resize(_, 0, 0,-1, 0)"),<br />
kpress("Shift+N", "WMoveresMode.resize(_, 0, 0, 0,-1)"),<br />
<br />
bdoc("Move in specified direction."),<br />
kpress(MOD1.."Left", "WMoveresMode.move(_,-1, 0)"),<br />
kpress(MOD1.."Right", "WMoveresMode.move(_, 1, 0)"),<br />
kpress(MOD1.."Up", "WMoveresMode.move(_, 0,-1)"),<br />
kpress(MOD1.."Down", "WMoveresMode.move(_, 0, 1)"),<br />
kpress(MOD1.."F", "WMoveresMode.move(_,-1, 0)"),<br />
kpress(MOD1.."B", "WMoveresMode.move(_, 1, 0)"),<br />
kpress(MOD1.."P", "WMoveresMode.move(_, 0,-1)"),<br />
kpress(MOD1.."N", "WMoveresMode.move(_, 0, 1)"),<br />
})<br />
</pre><br />
<br />
== cfg_menus.lua ==<br />
In this file you configure your main menu.<br />
<pre><br />
--<br />
-- Ion menu definitions<br />
--<br />
<br />
<br />
-- Main menu<br />
defmenu("mainmenu", {<br />
submenu("Programs", "appmenu"),<br />
menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"),<br />
menuentry("Help", "mod_query.query_man(_)"),<br />
menuentry("About Ion", "mod_query.show_about_ion(_)"),<br />
submenu("Styles", "stylemenu"),<br />
submenu("Session", "sessionmenu"),<br />
})<br />
<br />
<br />
-- Application menu<br />
defmenu("appmenu", {<br />
menuentry("Firefox","ioncore.exec_on(_, 'firefox')"),<br />
menuentry("Thunderbird","ioncore.exec_on(_, 'thunderbird')"),<br />
menuentry("Editor","ioncore.exec_on(_, 'lazy-edit')"),<br />
menuentry("Player","ioncore.exec_on(_, 'lazy-player')"),<br />
menuentry("FTP","ioncore.exec_on(_, 'lazy-ftp')"),<br />
menuentry("GVim","ioncore.exec_on(_, 'gvim')"),<br />
menuentry("Run...", "mod_query.query_exec(_)"),<br />
})<br />
<br />
<br />
-- Session control menu<br />
defmenu("sessionmenu", {<br />
menuentry("Save", "ioncore.snapshot()"),<br />
menuentry("Restart", "ioncore.restart()"),<br />
menuentry("Restart PWM", "ioncore.restart_other('pwm')"),<br />
menuentry("Restart TWM", "ioncore.restart_other('twm')"),<br />
menuentry("Exit", "ioncore.shutdown()"),<br />
})<br />
<br />
<br />
-- Context menu (frame/client window actions)<br />
defctxmenu("WFrame", {<br />
menuentry("Close", "WRegion.rqclose_propagate(_, _sub)"),<br />
menuentry("Kill", "WClientWin.kill(_sub)",<br />
"_sub:WClientWin"),<br />
menuentry("(Un)tag", "WRegion.set_tagged(_sub, 'toggle')",<br />
"_sub:non-nil"),<br />
menuentry("Attach tagged", "WFrame.attach_tagged(_)"),<br />
menuentry("Clear tags", "ioncore.clear_tags()"),<br />
menuentry("Window info", "mod_query.show_clientwin(_, _sub)",<br />
"_sub:WClientWin"),<br />
})<br />
</pre><br />
<br />
== cfg_ionws.lua ==<br />
In this file you configure your ion workspaces.<br />
<pre><br />
--<br />
-- Ion ionws module configuration file<br />
--<br />
<br />
-- Bindings for the tiled workspaces (ionws). These should work on any <br />
-- object on the workspace.<br />
<br />
defbindings("WIonWS", {<br />
bdoc("Split current frame vertically."),<br />
kpress(MOD1.."V", "WIonWS.split_at(_, _sub, 'bottom', true)"),<br />
<br />
bdoc("Split current frame horizontally."),<br />
kpress(MOD1.."H", "WIonWS.split_at(_, _sub, 'right', true)"),<br />
<br />
bdoc("Destroy current frame."),<br />
kpress(MOD1.."Tab", "WIonWS.unsplit_at(_, _sub)"),<br />
<br />
bdoc("Go to frame above/below/right/left of current frame."),<br />
kpress(MOD2.."Up", "WIonWS.goto_dir(_, 'above')"),<br />
kpress(MOD2.."Down", "WIonWS.goto_dir(_, 'below')"),<br />
kpress(MOD2.."Right", "WIonWS.goto_dir(_, 'right')"),<br />
kpress(MOD2.."Left", "WIonWS.goto_dir(_, 'left')"),<br />
submap(MOD1.."K", {<br />
bdoc("Split current frame horizontally."),<br />
kpress("S", "WIonWS.split_at(_, _sub, 'right', true)"),<br />
<br />
bdoc("Destroy current frame."),<br />
kpress("X", "WIonWS.unsplit_at(_, _sub)"),<br />
}),<br />
})<br />
<br />
<br />
-- Frame bindings. These work in (Ion/tiled-style) frames. Some bindings<br />
-- that are common to all frame types and multiplexes are defined in<br />
-- ion-bindings.lua.<br />
<br />
--defbindings("WFrame-on-WIonWS", {<br />
--})<br />
<br />
-- WFloatFrame context menu extras<br />
<br />
if mod_menu then<br />
defctxmenu("WIonWS", {<br />
menuentry("Destroy frame", <br />
"WIonWS.unsplit_at(_, _sub)"),<br />
menuentry("Split vertically", <br />
"WIonWS.split_at(_, _sub, 'bottom', true)"),<br />
menuentry("Split horizontally", <br />
"WIonWS.split_at(_, _sub, 'right', true)"),<br />
menuentry("Flip", "WIonWS.flip_at(_, _sub)"),<br />
menuentry("Transpose", "WIonWS.transpose_at(_, _sub)"),<br />
submenu("Float split", {<br />
menuentry("At left", <br />
"WIonWS.set_floating_at(_, _sub, 'toggle', 'left')"),<br />
menuentry("At right", <br />
"WIonWS.set_floating_at(_, _sub, 'toggle', 'right')"),<br />
menuentry("Above",<br />
"WIonWS.set_floating_at(_, _sub, 'toggle', 'up')"),<br />
menuentry("Below",<br />
"WIonWS.set_floating_at(_, _sub, 'toggle', 'down')"),<br />
}),<br />
submenu("At root", {<br />
menuentry("Split vertically", <br />
"WIonWS.split_top(_, 'bottom')"),<br />
menuentry("Split horizontally", <br />
"WIonWS.split_top(_, 'right')"),<br />
menuentry("Flip", "WIonWS.flip_at(_)"),<br />
menuentry("Transpose", "WIonWS.transpose_at(_)"),<br />
}),<br />
})<br />
end<br />
</pre><br />
<br />
== look.lua ==<br />
In this file you set your theme. Your default theme is set on the bottom:<br />
dopath("look_xerxes") <br />
The themes are called '''<code>look_<name>.lua</code>''' and you can make your own by switching the name.</div>83.76.168.163