<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>X11 &#8211; Virtually Fun</title>
	<atom:link href="https://virtuallyfun.com/category/x11/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Tue, 27 Jun 2023 07:24:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>CDE on WSLv1</title>
		<link>https://virtuallyfun.com/2023/06/22/cde-on-wslv1/</link>
					<comments>https://virtuallyfun.com/2023/06/22/cde-on-wslv1/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 22 Jun 2023 13:37:56 +0000</pubDate>
				<category><![CDATA[WSL]]></category>
		<category><![CDATA[X11]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12846</guid>

					<description><![CDATA[AKA CDE on Windows 10! This is about as weird as it sounds. While many disregard WSLv1 as being borderline useless, it can still quickly bridge the gap when you need something in user-space, and quickly. And for those of &#8230; <a href="https://virtuallyfun.com/2023/06/22/cde-on-wslv1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AKA CDE on Windows 10!</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1.png"><img fetchpriority="high" decoding="async" width="1024" height="601" src="https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-1024x601.png" alt="" class="wp-image-12847" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-1024x601.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-300x176.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-768x450.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-500x293.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1.png 1282w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">This is about as weird as it sounds.  While many disregard WSLv1 as being borderline useless, it can still quickly bridge the gap when you need something in user-space, and quickly.  And for those of us on Windows 10 (I could upgrade this machine, but I haven&#8217;t bothered as I don&#8217;t have a real GPU for it), there is no real UI.  But how to solve this?</p>



<p class="wp-block-paragraph">Well, the first thing is <a rel="noreferrer noopener" href="https://github.com/neutrinolabs/xrdp" target="_blank">xrdp</a>. Xrdp is an RDP server that will allow any halfway good Unix machine become a terminal server, very &#8216;Citrix like&#8217;.  Combine that with the Xorg virtual frame buffer, and now you have a display surface that is basically exported over RDP. I did modify it to listen on a different port so I could retain RDP to Windows 10 by modifying xrdp.ini:</p>



<pre class="wp-block-code"><code>port=4389
port=ask4389</code></pre>



<p class="wp-block-paragraph"> Now the real fun comes from CDE.</p>



<p class="wp-block-paragraph">I built 2.5.1 from source, following <a rel="noreferrer noopener" href="https://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/" target="_blank">the guide</a>, with 2 important notes: Make sure you install and activate the UTF!!!.  The other thing that was trashing my build was that WSLv1 picks up the Windows path, and it has spaces in it, which confuse the build process. Be sure to export something like:</p>



<pre class="wp-block-code"><code>export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games</code></pre>



<p class="wp-block-paragraph">before beginning the process.</p>



<p class="wp-block-paragraph">With all the bits in place, the next issue is the RPC.  I couldn&#8217;t figure out how to start the &#8216;safe mode&#8217; version, so it will absolutely need RPC.  But it turns out that you just have to start the rpcbind manually, since WSLv1 doesn&#8217;t have a real &#8216;startup&#8217;.  I also saw a lot of errors trying to talk to dbus, so may as well start that up as well.</p>



<pre class="wp-block-code"><code>mkdir -p /run/sendsigs.omit.d/
/usr/sbin/xrdp
/usr/sbin/xrdp-sesman
/usr/sbin/rpcbind
/usr/bin/dbus-daemon --system</code></pre>



<p class="wp-block-paragraph">And finally link the Xsession to the default user .xsession so CDE will be the default environment.</p>



<pre class="wp-block-code"><code>ln -s /usr/dt/bin/Xsession $HOME/.xsession</code></pre>



<p class="wp-block-paragraph">Now you should have everything in place, to login and get the Xrdp login</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/erying-xrdp-login.png"><img decoding="async" width="816" height="492" src="https://virtuallyfun.com/wp-content/uploads/2023/06/erying-xrdp-login.png" alt="" class="wp-image-12848" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/erying-xrdp-login.png 816w, https://virtuallyfun.com/wp-content/uploads/2023/06/erying-xrdp-login-300x181.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/erying-xrdp-login-768x463.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/erying-xrdp-login-498x300.png 498w" sizes="(max-width: 816px) 100vw, 816px" /></a><figcaption class="wp-element-caption">xrdp login</figcaption></figure>



<p class="wp-block-paragraph">And with any luck, you&#8217;ll be greeted with CDE!</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login.png"><img decoding="async" width="1024" height="601" src="https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login-1024x601.png" alt="" class="wp-image-12851" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login-1024x601.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login-300x176.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login-768x450.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login-500x293.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/06/cde-on-wslv1-default-login.png 1282w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">CDE on WSLv1!</figcaption></figure>



<p class="wp-block-paragraph">And there we go! Neat!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/06/22/cde-on-wslv1/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Diamond in a pile of shit</title>
		<link>https://virtuallyfun.com/2015/10/12/diamond-in-a-pile-of-shit/</link>
					<comments>https://virtuallyfun.com/2015/10/12/diamond-in-a-pile-of-shit/#comments</comments>
		
		<dc:creator><![CDATA[tenox]]></dc:creator>
		<pubDate>Mon, 12 Oct 2015 06:07:25 +0000</pubDate>
				<category><![CDATA[guest post]]></category>
		<category><![CDATA[random updates]]></category>
		<category><![CDATA[X11]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=5595</guid>

					<description><![CDATA[(this is a guest post by Tenox) Finally someone made a distribution with CDE as default eyecandy. I&#8217;m happy. Enter CDEbian!]]></description>
										<content:encoded><![CDATA[<p><em>(this is a guest post by Tenox)</em></p>
<p>Finally someone made a distribution with CDE as default eyecandy. I&#8217;m happy.</p>
<p>Enter <a href="https://andarazoroflove.org/cdebian/">CDEbian</a>!</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/NyIsqX9wEWA" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2015/10/12/diamond-in-a-pile-of-shit/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Nano X for MS-DOS</title>
		<link>https://virtuallyfun.com/2013/08/19/nano-x-for-ms-dos/</link>
					<comments>https://virtuallyfun.com/2013/08/19/nano-x-for-ms-dos/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 19 Aug 2013 02:13:16 +0000</pubDate>
				<category><![CDATA[MS-DOS]]></category>
		<category><![CDATA[X11]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=3210</guid>

					<description><![CDATA[A friend (Hi Frank!) gave me this link to a project page which has all kinds of X software built for MS-DOS. For the 2 or 3 people in the world still running MS-DOS.]]></description>
										<content:encoded><![CDATA[<p>A friend (Hi Frank!) gave me <a href="https://code.google.com/p/nanox-microwindows-nxlib-fltk-for-dos/downloads/list">this link</a> to a project page which has all kinds of X software built for MS-DOS.</p>
<p>For the 2 or 3 people in the world still running MS-DOS.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2013/08/19/nano-x-for-ms-dos/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Desqview/X</title>
		<link>https://virtuallyfun.com/2011/03/27/desqviewx/</link>
					<comments>https://virtuallyfun.com/2011/03/27/desqviewx/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 27 Mar 2011 20:58:00 +0000</pubDate>
				<category><![CDATA[80386]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[virtual networking]]></category>
		<category><![CDATA[X11]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=400</guid>

					<description><![CDATA[I never used Desqview back in the day, as I didn&#8217;t have a good enough computer. A 286 with 1mb of ram just wasn&#8217;t enough to push the thing. And by the time I did get a 386, OS/2 2.1 &#8230; <a href="https://virtuallyfun.com/2011/03/27/desqviewx/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;"></div>
<p><div id="attachment_1385" style="width: 310px" class="wp-caption alignleft"><a href="https://virtuallyfun.com/wp-content/uploads/2011/03/desqview-X-on-qemu.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-1385" class="size-medium wp-image-1385" title="desqview X on qemu" src="https://virtuallyfun.com/wp-content/uploads/2011/03/desqview-X-on-qemu-300x206.jpg" alt="" width="300" height="206" /></a><p id="caption-attachment-1385" class="wp-caption-text">Desqview/X</p></div></p>
<p>I never used Desqview back in the day, as I didn&#8217;t have a good enough computer. A 286 with 1mb of ram just wasn&#8217;t enough to push the thing. And by the time I did get a 386, OS/2 2.1 was all the rage. But in that time between OS/2 2.x and the release of the 80386 CPU there was all kinds of programs to take advantage of the 386&#8217;s v86 mode.</p>
<p>Desqview X really is different in that it not only incorporates the desqview multitasking, but it also supports the X11 protocol found in the UNIX world. Sounds cool right? A friend wanted to run it, so he actually dug out a web page, <a href="http://www.chsoft.com/dv.html">chsoft.com</a> with all the bits.</p>
<p>The first stumbling block is that Desqview requires that you use the memory manager QUEMM, which the majority of emulators we tried couldn&#8217;t work with it. <a href="http://virtuallyfun.blogspot.com/2011/02/qemu-0140-released.html">Qemu 0.14.0</a> however proved itself up to the task, as long as you didn&#8217;t let it do the aggressive optimization, just let it install, and reboot.</p>
<p>Installing DesqviewX was pretty straightforward, the only catch was the video. VGA doesn&#8217;t work but the SVGA modes work fine. I just used the 800x600x256 mode.</p>
<p>With that out of the road, the next thing needed was a good mouse driver. For some reason the majority of the mouse drivers I tried just wouldn&#8217;t work with desqview, until I tried <a href="http://qemu-forum.ipi.fi/download/file.php?id=216&amp;sid=e830421feb842bb5ead63c66f39626fe">ctmouse</a>.</p>
<p>Naturally for the whole X11 experence you need networking. The tcpip package on the desqview webpage uses some old netware thing with a ne2000 driver that is hard coded to 0x300 irq 4. Which won&#8217;t work in any machine I know since everyone has at least one com port. So I had to take the lsl &amp; ne2000 parts from my Netware 3.12 client. But doing so revealed that the lsl wouldn&#8217;t run because of a lsl buffer pool error. And of course to work with slirp you need to be running ethernet_II instead of 802.3 &#8230;</p>
<p>So you&#8217;ll need a net.cfg like this:</p>
<blockquote><p>link support<br />
buffers 4 1504<br />
mempool 8096<br />
max stacks 4<br />
link driver ne2000<br />
port 300<br />
irq 3<br />
frame ethernet_ii</p></blockquote>
<p>Naturally you&#8217;ll need to change the source to Qemu if you have your own build to use IRQ 3 instead of 9 (it&#8217;s in hw/pc.c), or use one of my binaries. It&#8217;ll configure via bootp and at the end you should be able to ping 10.0.2.2</p>
<p>Putting it all together, running it like this:</p>
<blockquote><p>./qemu -L pc-bios -hda packet2.qcow -net nic,model=ne2k_isa -net user -redir tcp:6001::6000</p></blockquote>
<p>On OS X has qemu listen on 6001 for X11 sessions, then redirect them into the VM on it&#8217;s X11 port. So I could then easily run xeyes like this:</p>
<blockquote><p>xeyes -display 127.0.0.1:1</p></blockquote>
<p>And the output appears inside of Desqview X. Likewise, removing the session security, and allowing remote connections in OS X&#8217;s X11 widget, then allowed me to send xeyes from Desqview to my mac like this:</p>
<blockquote><p>xeyes.exe -display 10.0.2.2:0</p></blockquote>
<p>And exeyes pops up on OS X as running from the Desqview VM.</p>
<p>I don&#8217;t know if it&#8217;s terribly useful, but I thought someone may get a kick that Desqview X can run on Qemu 0.14.0 In this day &amp; age though you can get easier versions of X11&#8230;.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2011/03/27/desqviewx/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>On the road to X11</title>
		<link>https://virtuallyfun.com/2010/04/21/on-the-road-to-x11/</link>
					<comments>https://virtuallyfun.com/2010/04/21/on-the-road-to-x11/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 22 Apr 2010 01:17:00 +0000</pubDate>
				<category><![CDATA[386BSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[X11]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=229</guid>

					<description><![CDATA[This is going to be.. involved to do&#8230; But there is some hope. The source to X11 R5 is still online, even though the xfree86-1.2 stuff is long gone. I was able to find a binary 2 bit Xserver for &#8230; <a href="https://virtuallyfun.com/2010/04/21/on-the-road-to-x11/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>This is going to be.. involved to do&#8230; But there is some hope.  The source to <a href="http://www.x.org/releases/X11R5/">X11 R5</a> is still online, even though the xfree86-1.2 stuff is long gone.  I was able to find a <a href="http://vpsland.superglobalmegacorp.com/install/386BSD/X386MONO.Z">binary 2 bit Xserver</a> for 386BSD, so that&#8217;s promising.</p>
<p>So my hope would now lay in making up a configuration file that&#8217;ll satisfy the Xfree86 1.2 server, and build enough of X11R5 to where it&#8217;s able to do something&#8230;.</p>
<p>I have no idea if it&#8217;s even that easy to do, but if anyone has any leads on a source copy of xfree86-1.2 or 1.3 that&#8217;d probably be easier to build for 386BSD as it was used in the time frame&#8230; 2.0 was for the forks of NetBSD &#038; FreeBSD so no doubt it&#8217;d hinge on things like DLL&#8217;s&#8230;</p>
<p>In the meantime, you can check out <a href="http://blog.nielshorn.net/2009/06/older-slackware-versions-vi/">Neils Horn&#8217;s blog</a>, with an example of what Xfree86 1.x was capable of on 0.96 linux.. Back in the day.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2010/04/21/on-the-road-to-x11/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
