This is untested and a work in progress. Please have a quick review. After I test building I plan on committing. Even if this has errors it is better than what we have now and it will be easier to work on.
Index: ./en/books/handbook/x11/chapter.sgml =================================================================== RCS file: /cvs/doc/en/books/handbook/x11/chapter.sgml,v retrieving revision 1.6 diff -u -r1.6 chapter.sgml --- ./en/books/handbook/x11/chapter.sgml 6 Sep 2005 17:36:31 -0000 1.6 +++ ./en/books/handbook/x11/chapter.sgml 15 Apr 2006 08:36:39 -0000 @@ -1,3 +1,5 @@ +<!-- todo: fix /usr/X11R6 paths --> + <!-- The FreeBSD Documentation Project @@ -11,14 +13,14 @@ <sect1 id="x11-synopsis"> <title>Synopsis</title> - <para>&os; uses <application>&xfree86;</application> to provide users with - a powerful graphical user interface. <application>&xfree86;</application> + <para>&os; uses <application>&xorg;</application> to provide users with + a powerful graphical user interface. <application>&xorg;</application> is an open-source implementation of the X Window System. This chapter will cover installation and configuration of - <application>&xfree86;</application> on a &os; system. For more - information on <application>&xfree86;</application> and video hardware that + <application>&xorg;</application> on a &os; system. For more + information on <application>&xorg;</application> and video hardware that it supports, check the <ulink - url="http://www.XFree86.org/">&xfree86;</ulink> web site.</para> + url="http://www.X.org/">&xorg;</ulink> web site.</para> <para>After reading this chapter, you will know:</para> @@ -30,7 +32,7 @@ <listitem> <para>How to install and configure - <application>&xfree86;</application>.</para> + <application>&xorg;</application>.</para> </listitem> <listitem> @@ -39,7 +41,7 @@ <listitem> <para>How to use &truetype; fonts in - <application>&xfree86;</application>.</para> + <application>&xorg;</application>.</para> </listitem> <listitem> @@ -52,7 +54,7 @@ <itemizedlist> <listitem><para>Know how to install additional third-party - software (<xref linkend="ports">).</para></listitem> + software (<xref linkend="pkgsrc">).</para></listitem> </itemizedlist> </sect1> @@ -121,11 +123,10 @@ various free and commercial applications available that do exactly that.</para> - <para>The X server that ships with &os; is called - <application>&xfree86;</application>, and is available for free, under a - license very similar to the &os; license. Commercial X servers for - FreeBSD are also available, and ought to work with &os; . - (Unconfirmed as of this writing.)</para> + <para>The X server commonly used on &os; is called + <application>&xorg;</application>, and is available for free, under a + license very similar to the &os; license. The &xfree86; + implementation of the X Window System is also available.</para> </sect2> <sect2> @@ -161,7 +162,7 @@ button or similar device; some are <quote>themeable</quote>, allowing a complete change of look-and-feel by applying a new theme. These window managers, and many more, are available in the - <filename>x11-wm</filename> category of the Ports Collection.</para> + <filename>wm</filename> category of the pkgsrc collection.</para> <para>In addition, the <application>KDE</application> and <application>GNOME</application> desktop environments both have their @@ -274,49 +275,33 @@ </sect1> <sect1 id="x-install"> - <title>Installing &xfree86;</title> + <title>Installing &xorg;</title> - <para>Before installing <application>&xfree86;</application>, decide on which - version to run. <application>&xfree86; 3.X</application> is a maintenance - branch of <application>&xfree86;</application> development. It is very - stable, and it supports a huge number of graphics cards. However, no new - development is being done on the software. <application>&xfree86; - 4.X</application> is a complete redesign of the system with many new - features such as better support for fonts and anti-aliasing. - Unfortunately this new architecture requires that the video drivers be - rewritten, and some of the older cards that were supported in 3.X are not - yet supported in 4.X. As all new developments and support for new - graphics cards are done on that branch, <application>&xfree86; - 4.X</application> is now the default version of the X Window System on - &os;.</para> - - <para>Alternatively, either version of <application>&xfree86;</application> - can be installed directly from the FreeBSD binaries provided on the - <ulink url="http://www.XFree86.org/">&xfree86; web site</ulink>. A binary - package to use with &man.pkg.add.1; tool is also available for - <application>&xfree86; 4.X</application>. When the remote fetching - feature of &man.pkg.add.1; is used, the version number of the - package must be removed. &man.pkg.add.1; will automatically fetch - the latest version of the application. So to fetch and install the - package of <application>&xfree86; 4.X</application>, simply type:</para> + <para> + A binary package to use with &man.pkg.add.1; tool is available for + <application>&xorg;</application>. + To fetch and install the + package of <application>&xorg;</application>, simply type:</para> - <screen>&prompt.root; <userinput>pkg_add -r XFree86</userinput></screen> + <screen>&prompt.root; <userinput>pkg_add xorg</userinput></screen> +<!-- see the pkgsrc docs on how to set up the location --> - <para>You can also use the ports collection to install - <application>&xfree86; 4.X</application>, for that you simply need + <para>You can also use the pkgsrc collection to install + <application>&xorg;</application>, for that you simply need to type the following commands:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/x11/XFree86-4</userinput> + <screen>&prompt.root; <userinput>cd /usr/pkgsrc/meta-pkgs/xorg</userinput> &prompt.root; <userinput>make install clean</userinput></screen> +<!-- check this: okay to do clean on same line? I recall problem with this --> <note><para>The examples above will install the complete - <application>&xfree86;</application> distribution including the - servers, clients, fonts etc. Separate packages and ports for - different parts of <application>&xfree86; 4.X</application> are also + <application>&xorg;</application> distribution including the + servers, clients, fonts etc. Separate packages for + different parts of <application>&xorg;</application> are also available.</para></note> <para>The rest of this chapter will explain how to configure - <application>&xfree86;</application>, and how to set up a productive desktop + <application>&xorg;</application>, and how to set up a productive desktop environment.</para> </sect1> @@ -332,16 +317,15 @@ </author> </authorgroup> </sect1info> - <title>&xfree86; Configuration</title> + <title>&xorg; Configuration</title> - <indexterm><primary>XFree86 4.X</primary></indexterm> - <indexterm><primary>XFree86</primary></indexterm> + <indexterm><primary>Xorg</primary></indexterm> <sect2> <title>Before Starting</title> - <para>Before configuration of <application>&xfree86; 4.X</application>, + <para>Before configuration of <application>&xorg;</application>, the following information about the target system is needed:</para> <itemizedlist> @@ -354,7 +338,7 @@ <indexterm><primary>vertical scan rate</primary></indexterm> <para>The specifications for the monitor are used by - <application>&xfree86;</application> to determine the resolution and + <application>&xorg;</application> to determine the resolution and refresh rate to run at. These specifications can usually be obtained from the documentation that came with the monitor or from the manufacturer's website. There are two ranges of numbers that @@ -362,7 +346,7 @@ rate.</para> <para>The video adapter's chipset defines what driver module - <application>&xfree86;</application> uses to talk to the graphics + <application>&xorg;</application> uses to talk to the graphics hardware. With most chipsets, this can be automatically determined, but it is still useful to know in case the automatic detection does not work correctly.</para> @@ -375,34 +359,34 @@ </sect2> <sect2> - <title>Configuring &xfree86; 4.X</title> + <title>Configuring &xorg;</title> - <para>Configuration of <application>&xfree86; 4.X</application> is + <para>Configuration of <application>&xorg;</application> is a multi-step process. The first step is to build an initial configuration file with the <option>-configure</option> option to - <application>&xfree86;</application>. As the super user, simply + <application>&xorg;</application>. As the super user, simply run:</para> - <screen>&prompt.root; <userinput>XFree86 -configure</userinput></screen> + <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen> <para>This will generate a skeleton - <application>&xfree86;</application> configuration file in the + <application>&xorg;</application> configuration file in the <filename>/root</filename> directory called - <filename>XF86Config.new</filename> (in fact the directory used + <filename>xorg.conf.new</filename> (in fact the directory used is the one covered by the environment variable <envar>$HOME</envar>, and it will depend from the way you got the superuser rights). The - <application>&xfree86;</application> program will attempt to probe + <application>&xorg;</application> program will attempt to probe the graphics hardware on the system and will write a configuration file to load the proper drivers for the detected hardware on the target system.</para> <para>The next step is to test the existing - configuration to verify that <application>&xfree86;</application> + configuration to verify that <application>&xorg;</application> can work with the graphics hardware on the target system. To perform this task, the user needs to run:</para> - <screen>&prompt.root; <userinput>XFree86 -xf86config XF86Config.new</userinput></screen> + <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen> <para>If a black and grey grid and an X mouse cursor appear, the configuration was successful. To exit the test, just press @@ -415,14 +399,14 @@ <note><para>If the mouse does not work, be sure the device has been configured. See &man.moused.8 for more information</para></note> - <indexterm><primary>XFree86 4 Tuning</primary></indexterm> + <indexterm><primary>Xorg Tuning</primary></indexterm> - <para>Next, tune the <filename>XF86Config.new</filename> + <para>Next, tune the <filename>xorg.conf.new</filename> configuration file to taste. Open the file in a text editor such as &man.emacs.1; or &man.ee.1;. First, add the frequencies for the target system's monitor. These are usually expressed as a horizontal and vertical synchronization rate. These - values are added to the <filename>XF86Config.new</filename> file + values are added to the <filename>xorg.conf.new</filename> file under the <literal>"Monitor"</literal> section:</para> <programlisting>Section "Monitor" @@ -452,10 +436,10 @@ Option "DPMS"</programlisting> <indexterm> - <primary><command>XF86Config</command></primary> + <primary><command>xorgconfig</command></primary> </indexterm> - <para>While the <filename>XF86Config.new</filename> + <para>While the <filename>xorg.conf.new</filename> configuration file is still open in an editor, select the default resolution and color depth desired. This is defined in the <literal>"Screen"</literal> section:</para> @@ -474,7 +458,7 @@ <para>The <varname>DefaultDepth</varname> keyword describes the color depth to run at by default. This can be overridden with the <command>-bpp</command> command line switch to - &man.XFree86.1;. + &man.Xorg.1;. The <varname>Modes</varname> keyword describes the resolution to run at for the given color depth. Note that only VESA standard modes are supported as defined by @@ -487,26 +471,25 @@ <para>Finally, write the configuration file and test it using the test mode given above. If all is well, the configuration file needs to be installed in a common location where - &man.XFree86.1; + &man.Xorg.1; can find it. - This is typically <filename>/etc/X11/XF86Config</filename> or - <filename>/usr/X11R6/etc/X11/XF86Config</filename>.</para> + This is typically <filename>/etc/X11/xorg.conf</filename> or + <filename>/usr/pkg/xorg/etc/xorg.conf</filename>.</para> +<!-- fix this path and file names --> - <screen>&prompt.root; <userinput>cp XF86Config.new /etc/X11/XF86Config</userinput></screen> + <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen> <para>Once the configuration file has been placed in a common - location, configuration is complete. In order to start - <application>&xfree86; 4.X</application> with &man.startx.1;, - install the <filename role="package">x11/wrapper</filename> port. - <application>&xfree86; 4.X</application> can also be started with - &man.xdm.1;.</para> + location, configuration is complete. + <application>&xorg;</application> can be started with + &man.startx.1; or &man.xdm.1;.</para> <note><para>There is also a graphical tool for configuration, - &man.xf86cfg.1;, that comes with the - <application>&xfree86; 4.X</application> distribution. It + &man.xorgcfg.1;, that comes with the + <application>&xorg;</application> distribution. It allows to interactively define your configuration by choosing - the appropriate drivers and settings. This program can be used under console as well, just use the command <command>xf86cfg -textmode</command>. For more details, - refer to the &man.xf86cfg.1; manual page.</para></note> + the appropriate drivers and settings. This program can be used under console as well, just use the command <command>xorgcfg -textmode</command>. For more details, + refer to the &man.xorgcfg.1; manual page.</para></note> </sect2> @@ -520,13 +503,12 @@ <para>Configuration with &intel; i810 integrated chipsets requires the <devicename>agpgart</devicename> - AGP programming interface for <application>&xfree86;</application> + AGP programming interface for <application>&xorg;</application> to drive the card. The &man.agp.4; driver is in the - <filename>GENERIC</filename> kernel since releases - 4.8-RELEASE and 5.0-RELEASE. On prior releases, you will - have to add the following line:</para> - + <filename>GENERIC</filename> kernel.</para> +<!-- <programlisting>device agp</programlisting> +--> <para>in your kernel configuration file and rebuild a new kernel. Instead, you may want to load @@ -553,11 +535,11 @@ in the kernel at boot time through being compiled in or using <filename>/boot/loader.conf</filename>.</para> - <para>If you are using <application>&xfree86; 4.1.0</application> (or + <para>If you are using <application>&xorg;</application> (or later) and messages about unresolved symbols like <literal>fbPictureInit</literal> appear, try adding the following line after <literal>Driver "i810"</literal> in the - <application>&xfree86;</application> configuration file:</para> + <application>&xorg;</application> configuration file:</para> <programlisting>Option "NoDDC"</programlisting> </sect3> </sect2> @@ -573,43 +555,43 @@ </author> </authorgroup> </sect1info> - <title>Using Fonts in &xfree86;</title> + <title>Using Fonts in &xorg;</title> <sect2 id="type1"> <title>Type1 Fonts</title> <para>The default fonts that ship with - <application>&xfree86;</application> are less than ideal for typical + <application>&xorg;</application> are less than ideal for typical desktop publishing applications. Large presentation fonts show up jagged and unprofessional looking, and small fonts in <application>&netscape;</application> are almost completely unintelligible. However, there are several free, high quality Type1 (&postscript;) fonts available which can be readily used - with <application>&xfree86;</application>, either version 3.X or - version 4.X. For instance, the URW font collection - (<filename role="package">x11-fonts/urwfonts</filename>) includes - high quality versions of standard type1 fonts (<trademark class="registered">Times Roman</trademark>, - <trademark class="registered">Helvetica</trademark>, <trademark class="registered">Palatino</trademark> and others). The Freefonts collection - (<filename role="package">x11-fonts/freefonts</filename>) includes + with <application>&xorg;</application>. + For instance, the Microsoft fonts collection + (<filename role="package">fonts/ghostscript-fonts</filename>) includes + high quality versions of standard Truetype fonts. +<!-- put the stuff back that was here --> + The Freefonts collection + (<filename role="package">fonts/freefonts</filename>) includes many more fonts, but most of them are intended for use in graphics software such as the <application>Gimp</application>, and are not complete enough to serve as screen fonts. In addition, - <application>&xfree86;</application> can be configured to use + <application>&xorg;</application> can be configured to use &truetype; fonts with a minimum of effort: see the <link linkend="truetype">section on &truetype; fonts</link> later.</para> - <para>To install the above Type1 font collections from the ports + <para>To install the above Type1 font collections from the pkgsrc collection, run the following commands:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput> + <screen>&prompt.root; <userinput>cd /usr/pkgsrc/fonts/ghostscript-fonts</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>And likewise with the freefont or other collections. To tell the X server that these fonts exist, add an appropriate line to the - <filename>XF86Config</filename> file (in <filename>/etc/</filename> for - <application>&xfree86;</application> version 3, or in - <filename>/etc/X11/</filename> for version 4), which reads:</para> + <filename>/etc/X11/xorg.conf</filename> file, which reads:</para> <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/URW/"</programlisting> +<!-- todo: check this path --> <para>Alternatively, at the command line in the X session run:</para> @@ -636,37 +618,34 @@ <secondary>TrueType</secondary> </indexterm> - <para><application>&xfree86; 4.X</application> has built in support + <para><application>&xorg;</application> has built in support for rendering &truetype; fonts. There are two different modules that can enable this functionality. The freetype module is used in this example because it is more consistent with the other font rendering back-ends. To enable the freetype module just add the following line to the <literal>"Module"</literal> section of the - <filename>/etc/X11/XF86Config</filename> file.</para> + <filename>/etc/X11/xorg.conf</filename> file.</para> <programlisting>Load "freetype"</programlisting> - <para>For <application>&xfree86; 3.3.X</application>, a separate + <para>For old versions of X, a separate &truetype; font server is needed. <application>Xfstt</application> is commonly used for this purpose. To install <application>Xfstt</application>, - simply install the port - <filename role="package">x11-servers/Xfstt</filename>.</para> + simply install the package + <filename role="package">x11/xfstt</filename>.</para> <para>Now make a directory for the &truetype; fonts (for example, <filename>/usr/X11R6/lib/X11/fonts/TrueType</filename>) and copy all of the &truetype; fonts into this directory. Keep in mind that &truetype; fonts cannot be directly taken from a &macintosh;; they must be in &unix;/DOS/&windows; format for use by - <application>&xfree86;</application>. Once the files have been + <application>&xorg;</application>. Once the files have been copied into this directory, use <application>ttmkfdir</application> to create a <filename>fonts.dir</filename> file, so that the X font renderer knows that these new files have been installed. - <command>ttmkfdir</command> is available from the FreeBSD - Ports Collection as - <filename role="package">x11-fonts/ttmkfdir</filename> - or the &pkgsrc; collection at + <command>ttmkfdir</command> is available from the &pkgsrc; collection at <filename role="package">fonts/ttmkfdir2</filename>.</para> <screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/TrueType</userinput> @@ -680,7 +659,7 @@ &prompt.user; <userinput>xset fp rehash</userinput></screen> <para>or add a <option>FontPath</option> line to the - <filename>XF86Config</filename> file.</para> + <filename>xorg.conf</filename> file.</para> <para>That's it. Now <application>&netscape;</application>, <application>Gimp</application>, @@ -698,7 +677,7 @@ <author> <firstname>Joe Marcus</firstname> <surname>Clarke</surname> - <contrib>Updated for &xfree86; 4.3 by </contrib> + <contrib>Updated for &xorg; 4.3 by </contrib> <!-- May 2003 --> </author> </authorgroup> @@ -709,11 +688,10 @@ <indexterm><primary>fonts</primary> <secondary>anti-aliased</secondary></indexterm> - <para>Anti-aliasing has been available in - <application>&xfree86;</application> since 4.0.2. However, font - configuration was cumbersome before the introduction of - <application>&xfree86;</application> 4.3.0. Starting in version 4.3.0, - all fonts in <filename>/usr/X11R6/lib/X11/fonts/</filename> and + <para>Anti-aliasing is available in + <application>&xorg;</application>. However, font + configuration was cumbersome in older versions of X. + All fonts in <filename>/usr/X11R6/lib/X11/fonts/</filename> and <filename>~/.fonts/</filename> are automatically made available for anti-aliasing to Xft-aware applications. Not all applications are Xft-aware yet, but many have received Xft support. @@ -837,18 +815,19 @@ your changes to be ignored.</para> <para>The default font set that comes with - <application>&xfree86;</application> is not very + <application>&xorg;</application> is not very desirable when it comes to anti-aliasing. A much better set of default fonts can be found in the - <filename role="package">x11-fonts/bitstream-vera</filename> - port. This port will install a + <filename role="package">fonts/vera-ttf</filename> + package. This package will install a <filename>/usr/X11R6/etc/fonts/local.conf</filename> file +<!-- todo: check this --> if one does not exist already. If the file does exist, - the port will create a <filename>/usr/X11R6/etc/fonts/local.conf-vera + the package will create a <filename>/usr/X11R6/etc/fonts/local.conf-vera </filename> file. Merge the contents of this file into <filename>/usr/X11R6/etc/fonts/local.conf</filename>, and the Bitstream fonts will automatically replace the default - <application>&xfree86;</application> Serif, Sans Serif, and Monospaced + <application>&xorg;</application> Serif, Sans Serif, and Monospaced fonts.</para> <para>Finally, users can add their own settings via their personal @@ -1068,7 +1047,7 @@ chooser and the login screens. This is where the appearance of the login program can be modified. The format is identical to the app-defaults file described in the - <application>&xfree86;</application> documentation.</para> + <application>&xorg;</application> documentation.</para> </sect3> <sect3> @@ -1198,17 +1177,17 @@ <para>The easiest way to install <application>GNOME</application> is with a package or - through the ports collection:</para> + through the pkgsrc collection:</para> <para>To install the <application>GNOME</application> package from the network, simply type:</para> - <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen> + <screen>&prompt.root; <userinput>pkg_add gnome2</userinput></screen> <para>To build <application>GNOME</application> from source, use - the ports tree:</para> + the pkgsrc tree:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput> + <screen>&prompt.root; <userinput>cd /usr/pkgsrc/meta-pkgs/gnome</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Once <application>GNOME</application> is installed, @@ -1251,7 +1230,7 @@ <indexterm><primary>GNOME</primary> <secondary>anti-aliased fonts</secondary></indexterm> - <para>Starting with version 4.0.2, <application>&xfree86;</application> + <para><application>&xorg;</application> supports anti-aliasing via its <quote>RENDER</quote> extension. Gtk+ 2.0 and greater (the toolkit used by <application>GNOME</application>) can make use of this @@ -1345,20 +1324,20 @@ <para>Just as with <application>GNOME</application> or any other desktop environment, the easiest way to install <application>KDE</application> is from a package - or from the ports collection:</para> + or from the pkgsrc collection:</para> <para>To install the <application>KDE</application> package from the network, simply type:</para> - <screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen> + <screen>&prompt.root; <userinput>pkg_add kde</userinput></screen> <para>&man.pkg.add.1; will automatically fetch the latest version of the application.</para> <para>To build <application>KDE</application> from source, - use the ports tree:</para> + use the pkgsrc tree:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput> + <screen>&prompt.root; <userinput>cd /usr/pkgsrc/meta-pkgs/kde3</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>After <application>KDE</application> has been installed, @@ -1509,8 +1488,8 @@ <indexterm><primary>KDE</primary> <secondary>anti-aliased fonts</secondary></indexterm> - <para>Starting with version 4.0.2, - <application>&xfree86;</application> supports anti-aliasing via + <para> + <application>&xorg;</application> supports anti-aliasing via its <quote>RENDER</quote> extension, and starting with version 2.3, Qt (the toolkit used by <application>KDE</application>) supports this extension. Configuring this is described in <xref @@ -1588,19 +1567,19 @@ <para>A binary package for <application>XFce</application> exists (at the time of writing). To install, simply type:</para> - <screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen> + <screen>&prompt.root; <userinput>pkg_add xfce4</userinput></screen> - <para>Alternatively, to build from source, use the ports + <para>Alternatively, to build from source, use the pkgsrc collection:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput> + <screen>&prompt.root; <userinput>cd /usr/pkgsrc/meta-pkgs/xfce4</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Now, tell the X server to launch <application>XFce</application> the next time X is started. Simply type this:</para> - <screen>&prompt.user; <userinput>echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrc</userinput></screen> + <screen>&prompt.user; <userinput>echo "/usr/pkg/bin/startxfce4" > ~/.xinitrc</userinput></screen> <para>The next time X is started, <application>XFce</application> will be the desktop. @@ -1608,7 +1587,7 @@ <filename>xdm</filename> is being used, create an <filename>.xsession</filename>, as described in the section on <link linkend="x11-wm-gnome">GNOME</link>, but - with the <filename>/usr/X11R6/bin/startxfce4</filename> + with the <filename>/usr/pkg/bin/startxfce4</filename> command; or, configure the display manager to allow choosing a desktop at login time, as explained in the section on <link linkend="x11-wm-kde-kdm">kdm</link>.</para> Jeremy C. Reed echo ':6DB6=88>?;@69876tA=AC8BB5tA6487><' | tr '4-F' 'wu rofIn.lkigemca'