<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.saruman.biz/saruwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=192.168.67.181</id>
	<title>SaruWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.saruman.biz/saruwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=192.168.67.181"/>
	<link rel="alternate" type="text/html" href="https://www.saruman.biz/saruwiki/index.php?title=Special:Contributions/192.168.67.181"/>
	<updated>2026-08-17T07:37:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://www.saruman.biz/saruwiki/index.php?title=Add_an_X11_server&amp;diff=1587</id>
		<title>Add an X11 server</title>
		<link rel="alternate" type="text/html" href="https://www.saruman.biz/saruwiki/index.php?title=Add_an_X11_server&amp;diff=1587"/>
		<updated>2008-07-29T21:30:06Z</updated>

		<summary type="html">&lt;p&gt;192.168.67.181: added X to Windows&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First make sure that your kernel supports &amp;quot;userspace software suspend&amp;quot;. If it doesn&#039;t (as might be with a homegrown kernel), then reconfigure your kernel to include CONFIG_SOFTWARE_SUSPEND=Y, recompile, reboot.&lt;br /&gt;
&lt;br /&gt;
Now, log into the real console of your server. If you use a terminal, the setup of X will &amp;quot;hang&amp;quot; at the end.&lt;br /&gt;
&lt;br /&gt;
You can update your apt using&lt;br /&gt;
 apt-get update&lt;br /&gt;
Now run&lt;br /&gt;
 tasksel&lt;br /&gt;
Under Choose software to install, remove all asterisks except for &amp;quot;desktop environment&amp;quot;. When you select &#039;&#039;OK&#039;&#039; the system gets going.&lt;br /&gt;
After installing a LOT of software, Tasksel will ask you what you want your default resolutions to be. Select at least those that you want to be able to use. Then Tasksel installs and configures some more.&lt;br /&gt;
&lt;br /&gt;
However, since this  will make your server start up with a GUI, we now take out the graphic desktop manager with&lt;br /&gt;
 update-rc.d -f gdm remove&lt;br /&gt;
This means that you still boot into the text mode console. So how do we then get that graphic desktop (should we ever need it)? Simply by issuing&lt;br /&gt;
 startx&lt;br /&gt;
at the root prompt on the real console.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it!&lt;br /&gt;
&lt;br /&gt;
==Use X programs on a Windows client==&lt;br /&gt;
[http://www.linux-tip.net/cms/content/view/302/26/ Here] is a very instructive explanation. In short:&amp;lt;br&amp;gt;&lt;br /&gt;
* Install Xming. Create a local Xming server that runs on display 10. Start it; your tooltip should say &amp;quot;Xming server:10.0&amp;quot;&lt;br /&gt;
* Install PuTTy, if you don&#039;t have already.&lt;br /&gt;
* For the PuTTy session to your Debian machine where you want to run X programs: enable X11 forwarding, with an X display location of &amp;quot;localhost:10&amp;quot; or something alike, and MIT-Magic-Cookie-1 as X11 authentication protocol&lt;br /&gt;
* On your [[OpenSSH server]], enable the option &amp;quot;AllowX11Forwarding yes&amp;quot;; restart your SSH daemon&lt;br /&gt;
* in your user&#039;s profile, put the setting &amp;quot;export DISPLAY=localhost:10.0&amp;quot;&lt;br /&gt;
* log out, log on again&lt;br /&gt;
* start xclock or xeyes, and see the program appear on your windows host. Better yet, start the program in the background (&#039;&#039;xclock &amp;amp;&#039;&#039;) to get it on your windows machine AND be able to continue to work at the commandline&lt;/div&gt;</summary>
		<author><name>192.168.67.181</name></author>
	</entry>
	<entry>
		<id>https://www.saruman.biz/saruwiki/index.php?title=Nfk-traversal-picture&amp;diff=1530</id>
		<title>Nfk-traversal-picture</title>
		<link rel="alternate" type="text/html" href="https://www.saruman.biz/saruwiki/index.php?title=Nfk-traversal-picture&amp;diff=1530"/>
		<updated>2008-06-28T06:53:21Z</updated>

		<summary type="html">&lt;p&gt;192.168.67.181: Creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Nfk-traversal.png]]&lt;br /&gt;
&lt;br /&gt;
This picture has helped me tremendously in understanding Netfilter and IPtables; I have a big colour printout of it hanging on the wall of my study :-) Many, many thanks to [http://linux-ip.net/ Martin Brown]!!&lt;/div&gt;</summary>
		<author><name>192.168.67.181</name></author>
	</entry>
	<entry>
		<id>https://www.saruman.biz/saruwiki/index.php?title=Vim&amp;diff=1494</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://www.saruman.biz/saruwiki/index.php?title=Vim&amp;diff=1494"/>
		<updated>2008-05-28T07:30:06Z</updated>

		<summary type="html">&lt;p&gt;192.168.67.181: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
The screen-oriented text editor &#039;&#039;vim&#039;&#039; stems from &#039;&#039;vi&#039;&#039;, written in &#039;76 for an early BSD Unix release by [http://www.engin.umich.edu/alumni/engineer/04SS/achievements/advances.html#joy Bill Joy]. &#039;&#039;vi&#039;&#039; is old, nonintuitive, and complex. &#039;&#039;[http://en.wikipedia.org/wiki/Vim_%28text_editor%29 vim]&#039;&#039; stems from 1991, and stands for &#039;&#039;&#039;&#039;&#039;V&#039;&#039;&#039;i &#039;&#039;&#039;IM&#039;&#039;&#039;proved&#039;&#039;, but its improvements do not lessen it&#039;s nonintuitivity or complexity.&lt;br /&gt;
&lt;br /&gt;
So why do we feel that &#039;&#039;vim&#039;&#039; is an essential system tool? Well, it&#039;s because&lt;br /&gt;
* vi can be found on just about any Linux and Unix system&lt;br /&gt;
* vi is very powerful&lt;br /&gt;
* with some practice, it&#039;s even usable.&lt;br /&gt;
&lt;br /&gt;
===About modal editors===&lt;br /&gt;
&lt;br /&gt;
==Installation and configuration==&lt;br /&gt;
&lt;br /&gt;
To get &#039;&#039;vim&#039;&#039;, simply use &#039;&#039;sudo apt-get install vim&#039;&#039; or &#039;&#039;sudo aptitude&#039;&#039;, and find &#039;&#039;vim&#039;&#039; in the available packages. Nice to know: when you install &#039;&#039;vim&#039;&#039;, you also get &#039;&#039;xxd&#039;&#039;, a tool to make a hexdump, or convert a hex dump back to it&#039;s original binary form.&lt;br /&gt;
&lt;br /&gt;
In Debian Etch, the default editor is nano instead of vim. This can be changed in the following way:&lt;br /&gt;
 which vim.basic &lt;br /&gt;
 sudo update-alternatives --set editor /usr/bin/vim.basic&lt;br /&gt;
(The first line is to check that you really have vim.basic in place)&lt;br /&gt;
Now &#039;&#039;&#039;all&#039;&#039;&#039; commands that invoke an editor will use &#039;&#039;vim&#039;&#039; instead of &#039;&#039;nano&#039;&#039;. Is that a good thing? We&#039;re not sure, but we do want to keep our &#039;&#039;vi&#039;&#039; skills up to par, so we do this.&lt;br /&gt;
&lt;br /&gt;
==Using vim==&lt;br /&gt;
&lt;br /&gt;
Vim operates in two modes: a command mode and an insert mode. You start in command mode, so almost every key is a command. Several commands you can issue will bring you into &#039;&#039;&#039;--INSERT--&#039;&#039;&#039; moode, e.g. &#039;&#039;i&#039;&#039; or &#039;&#039;a&#039;&#039;; to return in command mode press &#039;&#039;&amp;amp;lt;esc&amp;amp;gt;&#039;&#039; or ( &#039;&#039;&amp;amp;lt;ctrl&amp;amp;gt; [&#039;&#039; ).&lt;br /&gt;
&lt;br /&gt;
It can be confusing to remember if you&#039;re in command mode or insert mode (even though there&#039;s a bright marker in the left bottom of the &#039;&#039;vim&#039;&#039; screen :-). So remember: when you&#039;re in insert mode, &#039;&#039;&amp;amp;lt;esc&amp;amp;gt;&#039;&#039; will bring you to command mode; when you&#039;re already in command mode, &#039;&#039;&amp;amp;lt;esc&amp;amp;gt;&#039;&#039; does nothing (no harm done). So press &#039;&#039;&amp;amp;lt;esc&amp;amp;gt;&#039;&#039; two or three times, and you&#039;re sure to be in command mode.&lt;br /&gt;
&lt;br /&gt;
Another thing to remember: if you&#039;re in command mode and you start entering a number &#039;&#039;before&#039;&#039; a command, the command will get repeated that many times. The most used feature of this is deleting lines. Deleting the current line is done with the command &#039;&#039;dd&#039;&#039;; deleting (for example) twelve lines can be accomplished using &#039;&#039;12dd&#039;&#039;. Another example is the use of a number in front of G: command &#039;&#039;12G&#039;&#039; (use &amp;amp;lt;shift&amp;amp;gt;-g) will bring you to the beginning of the 12th line. A special number is zero; pressing 0 as the first character in a command means immediately going to the beginning of the line.&lt;br /&gt;
&lt;br /&gt;
===Exiting vim===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Command&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Output&lt;br /&gt;
|-&lt;br /&gt;
|:w&lt;br /&gt;
|Save&lt;br /&gt;
|-&lt;br /&gt;
|:w &#039;&#039;filename&#039;&#039;&lt;br /&gt;
|Save with this filename&lt;br /&gt;
|-&lt;br /&gt;
|:q&lt;br /&gt;
|quit vim&lt;br /&gt;
|-&lt;br /&gt;
|:q!&lt;br /&gt;
|quit without save&lt;br /&gt;
|-&lt;br /&gt;
|:wq&lt;br /&gt;
|save and quit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cursor positioning===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Key(s)&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Movement&lt;br /&gt;
|-&lt;br /&gt;
|h&lt;br /&gt;
|one character back&lt;br /&gt;
|-&lt;br /&gt;
|j&lt;br /&gt;
|down one line, same column&lt;br /&gt;
|-&lt;br /&gt;
|k&lt;br /&gt;
|up one line, same column&lt;br /&gt;
|-&lt;br /&gt;
|l,&amp;amp;lt;space&amp;amp;gt;&lt;br /&gt;
|one character forward&lt;br /&gt;
|-&lt;br /&gt;
|b&lt;br /&gt;
|one word back (to beginning of previous word)&lt;br /&gt;
|-&lt;br /&gt;
|e&lt;br /&gt;
|one word back (to end of previous word)&lt;br /&gt;
|-&lt;br /&gt;
|w&lt;br /&gt;
|one word forward&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;enter&amp;amp;gt;&lt;br /&gt;
|beginning of next line&lt;br /&gt;
|-&lt;br /&gt;
|0 (zero)&lt;br /&gt;
|beginning of line&lt;br /&gt;
|-&lt;br /&gt;
|$&lt;br /&gt;
|end of line&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;n&#039;&#039;G&lt;br /&gt;
|to beginning of line &#039;&#039;n&#039;&#039;; if no number given, the last line of the file&lt;br /&gt;
|-&lt;br /&gt;
|:&#039;&#039;n&#039;&#039;&lt;br /&gt;
|also to beginning of line &#039;&#039;n&#039;&#039; (but this is visible as command)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that h,j,k,l is one block on your (US) keyboard&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Key(s)&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Search&lt;br /&gt;
|-&lt;br /&gt;
|/&#039;&#039;pattern&#039;&#039;&lt;br /&gt;
|Moves the cursor to the next occurrence of &#039;&#039;pattern&#039;&#039;; will wrap around to the beginning of the file from the last occurence&lt;br /&gt;
|-&lt;br /&gt;
|?&#039;&#039;pattern&#039;&#039;&lt;br /&gt;
|Moves the cursor backward to the previous occurrence of &#039;&#039;pattern&#039;&#039;; will wrap around to the end of the file from the first occurence&lt;br /&gt;
|-&lt;br /&gt;
|n&lt;br /&gt;
|repeats last pattern search (either forward or backward)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Text insertion===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Key(s)&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Effect&lt;br /&gt;
|-&lt;br /&gt;
|a&lt;br /&gt;
|appends text after cursor &amp;amp; switches to Insert mode&lt;br /&gt;
|-&lt;br /&gt;
|A&lt;br /&gt;
|appends text at the &#039;&#039;&#039;end&#039;&#039;&#039; of the line &amp;amp; switches to Insert mode&lt;br /&gt;
|-&lt;br /&gt;
|i&lt;br /&gt;
|inserts text before cursor &amp;amp; switches to Insert mode &lt;br /&gt;
|-&lt;br /&gt;
|I&lt;br /&gt;
|inserts text at the &#039;&#039;&#039;beginning&#039;&#039;&#039; of the line &amp;amp; switches to Insert mode&lt;br /&gt;
|-&lt;br /&gt;
|o&lt;br /&gt;
|opens new line below the current line for text insertion &amp;amp; switches to Insert mode &lt;br /&gt;
|-&lt;br /&gt;
|O&lt;br /&gt;
|opens new line &#039;&#039;&#039;above&#039;&#039;&#039; the current line for text insertion &amp;amp; switches to Insert mode &lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;del&amp;amp;gt;&lt;br /&gt;
|overwrites last character during text insertion&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;esc&amp;amp;gt;&lt;br /&gt;
|stops text insertion. The escape key on the DECstations is the &amp;amp;lt;F11&amp;amp;gt; key&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Text deletion===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Key(s)&lt;br /&gt;
!style=&amp;quot;background:#ffdead;&amp;quot;|Effect&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|deletes character under the cursor&lt;br /&gt;
|-&lt;br /&gt;
|dd&lt;br /&gt;
|deletes current line&lt;br /&gt;
|-&lt;br /&gt;
|dw&lt;br /&gt;
|deletes word under the cursor&lt;br /&gt;
|-&lt;br /&gt;
|d)&lt;br /&gt;
|deletes to the end of the current sentence (up to and including the dot)&lt;br /&gt;
|-&lt;br /&gt;
|D&lt;br /&gt;
|deletes to the end of the current line&lt;br /&gt;
|-&lt;br /&gt;
|d$&lt;br /&gt;
|same (deletes to the end of the current line)&lt;br /&gt;
|-&lt;br /&gt;
|p&lt;br /&gt;
|&amp;quot;paste&amp;quot;, puts the buffer (e.g. text from the previous deletion) after the position of the cursor&lt;br /&gt;
|-&lt;br /&gt;
|P&lt;br /&gt;
|&amp;quot;Paste&amp;quot;, puts the buffer (e.g. text from the previous deletion) &#039;&#039;&#039;before&#039;&#039;&#039; the position of the cursor&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>192.168.67.181</name></author>
	</entry>
</feed>