Terminal Intro (Vol 2) Paul E. Johnson 1 2 1 Department of Political Science 2 Center for Research Methods and Data Analysis, University of Kansas 2015
Outline 1 Editing Without a Mouse! Emacs nano vi 2 Edit Here, Transfer There 3 Use Emacs to Open Remote files 4 Remote Desktop or Remote Applications
Outline 1 Editing Without a Mouse! Emacs nano vi 2 Edit Here, Transfer There 3 Use Emacs to Open Remote files 4 Remote Desktop or Remote Applications
Working in a Straight-Jacket Some systems allow no Graphical User Interface (GUI). 3 common alternatives Emacs: most difficult, most powerful vi: somewhat difficult, less powerful nano: an old email editor easy, but almost unpowerful
Run emacs in a text only terminal
Emacs No X? Challenging! Emacs was originally designed for this environment Interact with the minibuffer in the very bottom of the terminal display Keystroke combinations to memorize C: Control Key M: Meta Key, usually Alt on modern systems When they say Emacs has a steep learning curve, this is what they are talking about. Life without a mouse or pull down menus.
To Exit from Emacs (if accidentally stuck in there) If you are in a terminal, and can t figure how to get out To Exit: Type: C-x C-c If you goof that up and you feel stuck, Hit C-g C-g is get out of trouble in Emacs. Try C-x C-c again
Terminal: Login, use nano nano is an adaptation of pico, the editor for pine email (1990s). Arrow keys move cursor Control key reminders at bottom
X11 Mouse Secret and Nano Usual Cut and Paste (C-x, C-v) don t work, usually Some systems allow an old-fashioned X11 style cut and paste. Hi-light with left mouse button Do not touch any keys, or mouse buttons Move mouse pointer to target position, and hit the middle mouse button, or both buttons at once if you don t have a middle button, or click the roller on a mouse
vi: Editor of Unix Gods who Don t Prefer Emacs All Unix/Linux systems I have ever seen have vi This requires some practice, but I prefer it for editing config files because Fast with big text files. vi never damages text (doesn t word wrap, etc).
Start vi, see what happens How to run the editor. You choose either $ v i s o m e f i l e. t x t or $ vim s o m e f i l e. t x t vim is VI improved, a newer variant On many modern systems, vi and vim will launch same editor Ignore your mouse. Navigate with up arrow and down arrow
vi: Splash Screen at Startup
vi: Practice vi always begins in VIEW mode. Can move cursor Can delete text (Try x or dd) Touch letter i to go into INSERT mode. Look at bottom left of terminal. Type! You are stuck in the INSERT mode. To stop typing, hit Escape (Esc) key. You are back in the VIEW mode. No more inserts until you hit the letter i
vi: Save and Close To save: Reminder: Exit INSERT if necessary (Hit the Escape (Esc) key) : The Colon key puts focus at bottom of terminal, you should see a prompt when you do that To quit, type: wq to save and quit q! quit without saving
vi: Just a few other things Did you goof up? There is UNDO If in INSERT mode, hit Esc u is for undo. It should reverse your actions one at a time. If you accidentally get into recording mode (happens to me all the time), bail out with Esc : q
vi: Keystrokes to remember x ## deletes the character at the cursor i ## begins INSERT mode at the cursor dd ## d twice deletes the current line Esc 33 dd ## deletes 33 lines (Esc nn is repeat following) / whatever ## search for whatever : n ## goes to line n in file. Example :55 line 55 G ## goes to bottom of file Cut-and-paste might work: Try highlight with left mouse drag, and paste with middle-click mouse (only if vi is in insert mode ).
Outline 1 Editing Without a Mouse! Emacs nano vi 2 Edit Here, Transfer There 3 Use Emacs to Open Remote files 4 Remote Desktop or Remote Applications
File Transfer Programs Most Unix/Linux remote systems will allow a secure shell based file transfer In Windows, try one of the two-pane file transfer programs, such as WinSCP or Filezilla The portable version of WinSCP works fine: https://winscp.net/eng/docs/guide_install WinSCP is my favorite because, in SCP mode, it can alter file permissions on the remote system. Command line file transfer fast, efficient, if your PC has it. Try scp or the more powerful rsync programs.
Mount remote file system as if it were a local hard drive The CIFS protocol (older name SMB or Samba ) is a Unix service that mimics a Windows file server. Your PC may have, or can get, client programs that can attach the CIFS share. Problem: You need to know the names of the shares offered on the target system The Linux HOME directory on ACF is not currently mountable by CIFS. The folder /crmda is a share, however
Try a CIFS mounted share Windows Explorer, try this: 1 Find Computer or My Computer 2 Choose Map Network Drive 3 Name your share on the host. On ACF at KU, try \\ t r a n s f e r. a c f. k u. e d u \ crmda Linux or Macintosh file managers allow similar Try smb : // t r a n s f e r. a c f. k u. e d u / crmda
In Linux, I use "sshfs" $ mkdir mount.crmda $ s s h f s t r a n s f e r. a c f. k u. e d u : /crmda mount.crmda Also works in Nautilus file manager at URL ssh://transfer.acf.ku.edu/crmda Additional freedom to mount my HOME directory $ mkdir mount.home $ s s h f s t r a n s f e r. a c f. k u. e d u : mount.home
The Desktop might have this built in File Manager may handle this as well: the URL ssh://transfer.acf.ku.edu/crmda Disconnect $ fusermount u mount.home
The Danger in "Mounted" file systems The PC might freeze if the network fails: the OS does not respond gracefully when a mounted device disappears. IMPORTANT: disconnect before suspending a laptop Computer will go into a panic when it wakes up and can t find drives that were mounted
Outline 1 Editing Without a Mouse! Emacs nano vi 2 Edit Here, Transfer There 3 Use Emacs to Open Remote files 4 Remote Desktop or Remote Applications
Emacs tramp mode Launch Emacs with a remote file name $ emacs / u s e r @ s y s t e m : path to material or filename Examples $ emacs / p a u l j o h n @ t r a n s f e r. a c f. k u. e d u : f i l e. t x t $ emacs / p a u l j o h n @ t r a n s f e r. a c f. k u. e d u : / crmda / u s e r s / p a u l j o h n / f i l e. t x t $ emacs / p a u l j o h n @ t r a n s f e r. a c f. k u. e d u : / crmda / workgroups / WinStatUpdates / f i l e. t x t
Emacs tramp mode (cont.)
If Emacs is already running, do C x C f the minibuffer should prompt you with Find file: ~/. Replace ~/ with / your name here@server : file name here Directory mode also works
Use File Transfer Program s Edit emulator WinSCP or Filezilla (or similar) have edit right click options. transparently downloads file edits in your system Save transparently transfers file back to remote system. Configuration may take some effort, since the file transfer program has to be informed of what editor in your PC is supposed to open the file that comes from (and goes back) over there.
Outline 1 Editing Without a Mouse! Emacs nano vi 2 Edit Here, Transfer There 3 Use Emacs to Open Remote files 4 Remote Desktop or Remote Applications
Relay A Whole Remote Workscreen The login node of a cluster system might allow a remote desktop experience. ACF at KU currently offers the NoMachine remote desktop. Documentation is ample in http://crmda.ku.edu/computing Other systems may offer desktops like VNC or Vine
X11 can display individual programs I This requires an X11 server on your PC In a Macintosh system, install the Xcode package, open a terminal $ s s h X l o g i n 2. a c f. k u. e d u $ q x l o g i n $ emacs & $ g e d i t & $ n a u t i l u s no desktop & That should project that application onto your desktop.