[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] # Small Examples on Using Translators The [[concept|concepts]] of user-space servers, [[translator]]s, is a very powerful one. Here is an introductionary text. ## Intro The Hurd has some unique capabilities, and we created this simple image to enable you to easily try two of them: * The simplest of translators: Hello World! * Transparent FTP ### Hello World To try out the simplest of translators, you can go the following simple steps: $ cat hello $ setrans hello /hurd/hello $ cat hello "Hello World!" $ settrans -g hello $ cat hello What you do with these steps is first verifying that the file "hello" is empty. Then you setup the translator /hurd/hello in the file/node hello. After that you check the contents of the file, and the translator returns "Hello World!". To finish it, you tell the translator to go away from the file "hello" via "settrans -g hello" and verify that now the file is empty again. ### Transparent FTP We already setup a a transparent FTP translator for you at /ftp: With it you can easily access public FTP via the file system, for example the one from the GNU project: $ ls /ftp://ftp.gnu.org/ But you can also do this very easily yourself: $ # Setup the translator on the node ftp: $ settrans -c ftp: /hurd/hostmux /hurd/ftpfs / and you can access FTP sites via the pseudo-directory ftp:, for example with $ ls ftp://ftp.gnu.org/ What you do here is setting up the translator /hurd/hostmux on ftp: and passing it the translator /hurd/ftpfs to use for resolving accesses as well as / as additional path component. These were only two basic usages of translators on the Hurd. We're sure you'll quickly see many other ways to use this. As a last comment: You can setup a translator on any node you have access to, so you can for example mount any filesystems as normal user. You might currently be logged in as root, but you could just as well do the same as normal user. Why don't you try it out?