In most ways, Cheix is a completely standard console-based Slackware installation. The applications described below will function normally. You can write and save files, use email, browse the Net, connect to a shell server with ssh. You can do anything you would normally do as a Linux user.
Only a handful of things are special about Cheix. And as a user these only affect you in minor but important ways. Rather than talk about them technically here, let me put all the technical bits in the admin docs. Here we will just point out what is important for you to do and to remember.
The first important thing to remember is to log in as "user" unless you are doing maintenance to Cheix. The second thing is to always use admin_cheix when you do that maintenance (see admin docs.)
If someone else built your Cheix USB, they have your passwords. CHANGE THEM. Log out as user and back in as root. Run cheix_admin. Log in as root. Change the root password with:
: passwdand follow the prompts. Then change the user password with:
: passwd userand you are done. Enter "init 3" like cheix_admin tells you to, log out as root and back to user.
For your convenience you can use:
# haltas user from the command prompt to shutdown or reboot the USB. Keep in mind that if you are not going save files to the USB, you can just jerk it out of the host and walk away. If you don't change the state of the root filesystem (/), it never changes. So it doesn't really need a normal shutdown.
# reboot
Cheix is designed not to wear out the USB. USBs use a different kind of memory than a harddrive does. It is difficult to wear out a harddrive. It is easy to wear out a USB. Cheix fixes this problem by (mostly) not writing to the USB.
As a user, you don't need to understand this. But you do need to know where to save your files. There are two places for files that matter to you as a user.
This is where normal files go. You have saved files before on other computers. This directory is where you save them on Cheix. Save them the way you always do. If you are going to save your email files and normally use /home/user/mail, use /storage/mail and everything will be as you expect it to be. The same goes for the files you create and use with your normal applications. Just use this directory.
This is where your user configuration files go. If you will enter these two commands at the prompt:
ls -lA ~/ ls -lA /storage/skelyou will get the same results. This is because when you boot into Cheix, the skel directory is copied into memory and becomes your user directory. So your config files for nail, lynx, nano and so forth have to be kept in /storage/skel. You can adjust them in your user directory, /home/user, but you have to save their config files to /storage/skel in order to keep the changes between boots.
To help you save things to skel, Cheix has "2skel." If you change somethingA and somethingB, just enter
: 2skel somethingA somethingBand those files or even directories will be copied to skel.
Okay, the first important thing about Cheix is where to save files so you don't lose them. The second thing is remembering that you are using Cheix inside a running Windows or Unix system. That system is hanging onto its resources. And you get what is left.
Let me kind of draw you a picture without getting too technical. Just so you understand what is going on and what you need to watch for. It's really no big deal.
Just as a normal Unix is hard on physical memory and would wear out your USB, normal Unix is hard on transient memory or RAM. Maybe greedy is a better word than hard. It assumes you have lots of RAM and when you run out, it sticks some of that RAM data on the harddisk. When it needs that, it might write other RAM data down and read up what it needs. This is called "swap memory" or "swap". End of picture.
Swap will burn out the USB as quickly as anything else. So Cheix doesn't use it. It doesn't use it because, as a console user, you don't need it. But you do have to be aware of having limited memory. Here's how that works.
You should always use "screen" which gives you several consoles in one console. Cheix comes with screen configured to bring up lynx, clex and a regular prompt when you log in as user. In the bottom left corner of the window, screen always shows how much free memory you have. When that number reaches zero, the operating system will shut down. Keep it above zero.
(Screen also has a battery monitor which may not be accurate on the high end, especially if you have more than one battery. But as soon as the battery charge falls below an average single battery, it is completely accurate.)
Watching your physical memory level should only be an issue if you use Cheix on an old computer where the host operating system hangs on to so much memory that there isn't much left for Cheix. The solution is to use less memory. Use one application at a time if you need to. That's it for limited memory: watch the bottom corner of screen and keep the m: number above zero.
Before we talk about the applications on Cheix there is one more special thing about using Cheix you should know. It isn't a problem at all. It's a feature. Really it is simply a by-product of using this read-only file system where all the writes are in memory. Cheix provides real privacy.
Think about it. Unless you write a file explicitly, nothing is left behind when you turn Cheix off. All the system logs go away. If we used swap, you would either leave random data on the USB or the host harddrive. But you don't use or need swap. No traces left there. If you use nail for email (comes installed) you can configure it to do all the work over a secure connection on the remote mail server. All the mail stays there. Lynx can't leave a web cache as long as /tmp is in tmpfs. And on and on.
If you don't explicitly save a file, no trace is left behind of what you have done on Cheix. This doesn't mean that Cheix and its apps are somehow become spookily invisible on the Net. Everything normal there. But if, for instance, you only work with remote files and email and never save anything locally, your USB would never change and never have any private data except for the config files (that let you use nail on that secure mail server and so forth) in /storage/skel. It's just something to keep in mind.
The upshot of saving files is save them in one of these two places or else you lose the files. Normal Unixes write to the harddisk all the time. Cheix doesn't write to it at all. So if you want a file saved, you must:
If you are in such a situation, remember that other files like .mailrc and .msmtprc could compromise you too. If you need to, learn how to make those files transient by copying them back and forth into a directory and using cheix_home on that directory.
On a normal Unix machine, your directory is /home/you and all your files are in a directory tree based on /you. Cheix_home replaces this tree with transitory directories. Let me explain. Let's say you have a project called "project". You create a directory in /home/user with
mkdir projectYou create your files in /home/user/project. Now you can't leave them in /home because home is transient. So when you are done, you run
cheix_home put projectand the directory is archived and uploaded to an ftp server.
This requires that you have a bookmark in ncftp called "chxhome" with the remote directory set for where you want the files archived and the local directory set to current directory. To set to current, hit "g" then "<enter>" in bookmarks.
Next time you want to work on "project", you run:
cheix_home get project
To make this all easier, there are aliases in your .bashrc file. You can use "get" for "cheix_home get" and "put" for "cheix_home put."
The IMPORTANT thing is to get used to thinking of the ftp server as where you save your files.
Finally there is
cheix_home listwhich gives a remote or local listing of either the ftp archives or of the /storage/arcs directory.
I have found that some directories might remain on the filesystem and not be transient in /home/user. So cheix_storage is similar to cheix_home. You use a specific directory name like "bin" or "ref" just as you would in cheix_home. Then cheix_storage works on /storage just as cheix_home works on /home/user except that the archives are automatically unpacked into /storage with get.
To make this easier, there are aliases in your .bashrc file. You can use "sget" for "cheix_storage get" and "sput" for "cheix_storage put."
If you are comfortable keeping files in storage, lput and lget move directories back and forth between /home/user in tmpfs and /storage/arcs on the USB. All these work for ~/projects:
Cheix comes with "boy" which is a light man-page implementation. For almost any command in Cheix, enter "boy command" at the prompt. The q key will exit "less" which is what you are reading boy with.
Cheix comes with three editors: nvi, rho, and nano. Nvi is linked to vi and rho is linked to emacs for those of you with habits. Nano is the easiest to learn just by using it. If you are not familiar with vi, you might should be, as we say in Texas. Find a short tutorial on the Internet for vi and spend a half hour working through it. Vi is on EVERY Unix box. Enter "boy nano" at the prompt for nano help. Rho help is Control-X followed by h. The settings files are are .exrc (vi), .rhorc (rho), and .nanorc (nano).
Cheix comes with mailx (or nail, either works) for email. There is an example .mailrc file for configuring mailx to use your remote secure imap/pop account with the sent box set to /dev/null. This is the most secure setting for mailx. Use "boy nail|mailx" to see your options. I like nail because you don't need fetchmail or msmtp to send and receive email.
Save settings with:"2skel .mailrc"
Cheix comes with the lynx text browser. In my experience, lynx is the most reliable, if somewhat annoying in the way it lays out the pages. But, except for not having javascript, everything on the Web works in lynx the way it should. The msmtp package is installed so you can do mail links with lynx. Just set up the example .msmtp file in your user directory. The o key in lynx gives you the settings options and you can save all that to skel with
"2skel .lynx* .msmtprc"
Javascript/Graphical Note: There are no text browsers that use Javascript. Links 2 (now just Links) tried to, but gave it up. You can get a graphical text browser by installing the new links and the svgalib packages with slackpkg. It doesn't work with all hardware. But it is graphics in text mode and I use it on one of Cheix's test machines. It won't work on my cheap Averatec laptop. You have edit the mouse bit in /etc/vga/libvga.config and then figure out a mode that works. Try the biggest modes first and work down. As root do "chmod u+s /usr/bin/links." Then you put this in ~/.bashrc:
alias links="links -g -mode [your mode here] ~/.lynx_bookmarks.html"
Cheix comes with ncftp and the cheix_* scripts assume it is installed. Use "boy ncftp" to learn to use it or just rely on the cheix_*. To save its settings:
"2skel .ncftp/"
Cheix comes with clex which has builtin help and tons of features in a physically tiny program. Use F1 for help. Save settings with:
"2skel .config/"
Page last changed: 2011-10-29