= How to Code in a Terminal Window When you want to develop programs, e.g. in Python, on a server, the easiest connection option usually is via `ssh` access and the [https://en.wikipedia.org/wiki/Command-line_interface command line mode] in a [https://en.wikipedia.org/wiki/Terminal_emulator terminal window]. In case, you are not used to working in a terminal, we have gathered a small set of recommendations and tutorial links. The examples will be using the NLP lab server [https://aurora.fi.muni.cz aurora] as an example. * for the **primary access**, see the information for various OSes directly at https://aurora.fi.muni.cz * for **basic navigation** one you are logged in, see the [https://ubuntu.com/tutorials/command-line-for-beginners#3-opening-a-terminal Ubuntu tutorial for working in terminal]. * for **easy repeated access**, you should setup a ''SSH key authorization'', see the simple [https://aurora.fi.muni.cz/ssh-keys.html aurora SSH keys tutorial]. * when developing a program, e.g. in Python, we suggest to **work in multiple terminal windows**. For each window start a separate terminal connection to the server (SSH key authorization comes very handy here), change to the same directory on the server and use for example: - one window for source code editing - one window for running the code and inspecting the results - one window for running a debug (e.g. via `python -mpbd source.py`) - one window for working with auxiliary files, e.g. edit testing data * if you are curious enough to get to a **terminal pro level**, we suggest to go through the MIT course [https://missing.csail.mit.edu/ The Missing Semester of Your CS Education].