... | ... | @@ -2,69 +2,162 @@ Since more and more people will start exploring their **Evergreen devices**, the |
|
|
|
|
|
The intention of this section is to collect and conserve knowledge with respect to Tips & Tricks in dealing with the Librem 5 while ramping up and constantly improving.
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
## First steps for new Librem 5 users
|
|
|
|
|
|
* Check out this post and watch the [Librem 5 Video Walkthrough](https://puri.sm/posts/librem-5-visual-walkthrough/).
|
|
|
Check out this post and watch the [Librem 5 Video Walkthrough](https://puri.sm/posts/librem-5-visual-walkthrough/).
|
|
|
|
|
|
## Known issues
|
|
|
|
|
|
* For a full list of PureOS-related issues see the [issue tracker](https://source.puri.sm/Librem5/OS-issues/-/issues) entries
|
|
|
* **WiFi does not connect:** If the Librem 5 won't connect to your network, [verify that the phone's date, time, and time zone are set correctly](https://forums.puri.sm/t/why-is-there-no-wifi/11107) in `Settings` > `Details` > `Date & Time`. At present, it's necessary to turn off the automatic date/time settings and set these manually. After successful connection, you can return the settings to automatic. If you're using MAC filtering on your router, don't forget to allow your Librem 5 in the router settings first. Using hidden SSID on your router may cause intermittent disconnection.
|
|
|
* **PureOS updates fail after first setup:** This is caused by an improper timezone or date/time setting required to configure the WiFi connection initially. Solution: [Re-enable the "Automatic Date & Time" setting](https://forums.puri.sm/t/myl5-unable-to-download-updates-for-librem-5-not-valid-yet-invalid-for-another-2h/12119) in `Settings` > `Details` > `Date & Time`
|
|
|
* **Standby mode:** Currently no standby / suspend mode available. Screen just gets dark.
|
|
|
* **Battery fuel meter** [needs adjustments](https://source.puri.sm/Librem5/linux-next/-/merge_requests/198) and for the time being is not precise. E.g. when fully loaded, the red charging led turns off and battery fuel meter indicates 70%. Recent improvements have synced the battery level indicator in the notifications area to the level in the Power settings panel.
|
|
|
* **GPS** seems to work internally but user interfaces in PureOS are still missing (except switching GPS on and off in `Settings` > `Privacy` > `Location Services`). See https://forums.puri.sm/t/app-for-gps-settings-on-librem-5/12136
|
|
|
* **Screen Orientation:** At present this is done manually from the notifications area.
|
|
|
* **Convergence** is not yet supported by the software
|
|
|
For a full list of PureOS-related issues see the [issue tracker](https://source.puri.sm/Librem5/OS-issues/-/issues) entries.
|
|
|
|
|
|
### WiFi does not connect
|
|
|
|
|
|
If the Librem 5 won't connect to your network, [verify that the phone's date, time, and time zone are set correctly](https://forums.puri.sm/t/why-is-there-no-wifi/11107) in `Settings` > `Details` > `Date & Time`. At present, it's necessary to turn off the automatic date/time settings and set these manually. After successful connection, you can return the settings to automatic. If you're using MAC filtering on your router, don't forget to allow your Librem 5 in the router settings first. Using hidden SSID on your router may cause intermittent disconnection.
|
|
|
|
|
|
### PureOS updates fail after first setup
|
|
|
|
|
|
This is caused by an improper timezone or date/time setting required to configure the WiFi connection initially. Solution: [Re-enable the "Automatic Date & Time" setting](https://forums.puri.sm/t/myl5-unable-to-download-updates-for-librem-5-not-valid-yet-invalid-for-another-2h/12119) in `Settings` > `Details` > `Date & Time`
|
|
|
|
|
|
### Standby mode
|
|
|
|
|
|
Currently no standby / suspend mode available. Screen just gets dark.
|
|
|
|
|
|
### Battery fuel meter
|
|
|
|
|
|
[Needs adjustments](https://source.puri.sm/Librem5/linux-next/-/merge_requests/198) and for the time being is not precise. E.g. when fully loaded, the red charging led turns off and battery fuel meter indicates 70%. Recent improvements have synced the battery level indicator in the notifications area to the level in the Power settings panel.
|
|
|
|
|
|
### GPS
|
|
|
|
|
|
Seems to work internally but user interfaces in PureOS are still missing (except switching GPS on and off in `Settings` > `Privacy` > `Location Services`). See https://forums.puri.sm/t/app-for-gps-settings-on-librem-5/12136
|
|
|
|
|
|
### Screen Orientation
|
|
|
|
|
|
At present this is done manually from the notifications area.
|
|
|
|
|
|
### Convergence
|
|
|
|
|
|
Convergence is not yet supported by the software.
|
|
|
|
|
|
## General
|
|
|
|
|
|
* **Backup**: See this thread: https://forums.puri.sm/t/new-post-app-showcase-backups/11459. Alternatively: [Example of a quick backup solution](https://forums.puri.sm/t/received-my-librem-5-evergreen/10877/195) using rsync and a systemd timer
|
|
|
* **Dark mode:** Not available out-of-the-box. Can be tweaked by using GNOME Tweaks app and set any theme you want there.
|
|
|
### Backup
|
|
|
|
|
|
See this thread: https://forums.puri.sm/t/new-post-app-showcase-backups/11459. Alternatively: [Example of a quick backup solution](https://forums.puri.sm/t/received-my-librem-5-evergreen/10877/195) using rsync and a systemd timer
|
|
|
|
|
|
### Dark mode
|
|
|
|
|
|
Not available out-of-the-box. Can be tweaked by using GNOME Tweaks app and set any theme you want there.
|
|
|
|
|
|
Alternatively, use [gsettings](http://manpages.ubuntu.com/manpages/trusty/man1/gsettings.1.html): `gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"`
|
|
|
* **Firewall:** To enable [ufw](https://en.wikipedia.org/wiki/Uncomplicated_Firewall) (uncomplicated firewall), open terminal and enter `sudo ufw status` and if it's not yet enabled, enter `sudo ufw enable`. The default is usually all you need, but you have the options of adding additional rules. Use `sudo ufw disable` to disable the firewall. To call up a graphical interface inside the terminal, first install gufw and install x11-xserver-utils. Next type the following command: `DISPLAY=:0 xhost +` and hit enter, resulting in: `access control disabled, clients can connect from any host`. Now type: `DISPLAY=:0 GDK_BACKEND=x11 sudo gufw` and the graphical version will appear right in the terminal. Note that after you close the terminal, the app icon in the phone's app list will not be operational unless you repeat the above process, at least unless someone adapts it later.
|
|
|
* **IMEI:** To find the IMEI of your Librem 5, go to `Settings` > `Mobile` > `Modem Details`.
|
|
|
* **Notifications:** Accessed by touching the battery icon at the top right corner of the screen.
|
|
|
* **Ringtones:** Customize rintones following this [blog post](https://sspaeth.de/2021/03/customizing-the-librem5-ringtone/).
|
|
|
* **Root account:** Locked by default. So there is no root password available. More technical details [here](https://source.puri.sm/Librem5/image-builder/-/merge_requests/123). Unlock root account with `sudo passwd`, check out [this discussion](https://forums.puri.sm/t/what-does-locking-the-root-password-do/10895) for more background.
|
|
|
* **Terminal:** Access additional Terminal keyboard controls by clicking on the globe icon (reveals Ctrl, Alt, and arrow keys, plus other symbols, controls, and Function keys - including Esc and Tab; press the `>_` key to see the extras). // Here's a quick and fun introduction to basic Terminal commands: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
|
|
|
* **User name:** Default user name is: `purism`. Additional user names can be added from the terminal; at present this is not supported in the `Settings` GUI.
|
|
|
* **Auto-mounting directories:** When manually adding entries in /etc/fstab, specify the `nofail` option (in the 4th field) so that any problem with the device will not prevent the operating system from booting.
|
|
|
|
|
|
### Firewall
|
|
|
|
|
|
To enable [ufw](https://en.wikipedia.org/wiki/Uncomplicated_Firewall) (**u**ncomplicated **f**ire**w**all), open terminal and enter `sudo ufw status` and if it's not yet enabled, enter `sudo ufw enable`. The default is usually all you need, but you have the options of adding additional rules. Use `sudo ufw disable` to disable the firewall. To call up a graphical interface inside the terminal, first install gufw and install x11-xserver-utils. Next type the following command: `DISPLAY=:0 xhost +` and hit enter, resulting in: `access control disabled, clients can connect from any host`.
|
|
|
Now type: `DISPLAY=:0 GDK_BACKEND=x11 sudo gufw` and the graphical version will appear right in the terminal. Note that after you close the terminal, the app icon in the phone's app list will not be operational unless you repeat the above process, at least unless someone adapts it later.
|
|
|
|
|
|
### IMEI
|
|
|
|
|
|
To find the IMEI of your Librem 5, go to `Settings` > `Mobile` > `Modem Details`.
|
|
|
|
|
|
### Notifications
|
|
|
|
|
|
Accessed by touching the battery icon at the top right corner of the screen.
|
|
|
|
|
|
### Ringtones
|
|
|
|
|
|
Customize rintones following this [blog post](https://sspaeth.de/2021/03/customizing-the-librem5-ringtone/).
|
|
|
|
|
|
### Root account
|
|
|
|
|
|
Locked by default. So there is no root password available. More technical details [here](https://source.puri.sm/Librem5/image-builder/-/merge_requests/123). Unlock root account with `sudo passwd`, check out [this discussion](https://forums.puri.sm/t/what-does-locking-the-root-password-do/10895) for more background.
|
|
|
|
|
|
### Terminal
|
|
|
|
|
|
Access additional Terminal keyboard controls by clicking on the globe icon (reveals Ctrl, Alt, and arrow keys, plus other symbols, controls, and Function keys - including Esc and Tab; press the `>_` key to see the extras).
|
|
|
|
|
|
Here's a quick and fun introduction to basic Terminal commands: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
|
|
|
|
|
|
### Username
|
|
|
|
|
|
Default user name is: `purism`. Additional user names can be added from the terminal; at present this is not supported in the `Settings` GUI.
|
|
|
|
|
|
### Auto-mounting directories
|
|
|
|
|
|
When manually adding entries in /etc/fstab, specify the `nofail` option (in the 4th field) so that any problem with the device will not prevent the operating system from booting.
|
|
|
|
|
|
|
|
|
## Software installations and updates (apps and OS)
|
|
|
|
|
|
* **Install Software:** In case installing software from PureOS store does not work --> Do it from terminal e.g. `sudo apt install firefox-esr`. Note that PureOS store, by default, lists software that has been adapted to the Librem 5's screen. Other packages can be found and installed using the search tool within the store, but may not scale well to the screen without further modification. Using `Scale Screen` app, a part of `librem5-goodies`, to temporarily reduce scale, may help with such non-adaptive apps.
|
|
|
* **System/Software Updates:** Click Updates tab within PureOS Store (and per [this issue](https://source.puri.sm/Librem5/pureos-store/-/issues/20) , hit the `Restart & Update` button *twice*); or, install from Terminal by entering `sudo apt update && sudo apt upgrade`. (sudo = superuser do / i.e. admin level action)
|
|
|
* **Enable Flatpak with Flathub repository**: Flatpak support and PureOS store integration are installed by default. Only need to add the Flathub repository via the terminal as described in their setup description [step 3](https://flatpak.org/setup/Debian/)
|
|
|
(`flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo`)
|
|
|
* **Add App to favorites:** To add an app from your app list to the Favorites section (i.e. pin to the top of the list), long-press on the app, then select `Add to Favorites`. The Favorites section expands to accommodate the new favorite app. To remove an app from Favorites, long-press the app, then select `Remove from Favorites`.
|
|
|
* **Web Apps:** You can create an app icon from a web page in the browser as shown in the [Video Walkthrough](https://puri.sm/posts/librem-5-visual-walkthrough/) at position 2m:20s. Deletion / adaption via [Web Application Manager](https://docs.puri.sm/Librem_5/Web.html#web-applications)
|
|
|
### Install Software
|
|
|
|
|
|
In case installing software from PureOS store does not work --> Do it from terminal, e.g. `sudo apt install firefox-esr`.
|
|
|
Note that PureOS store, by default, lists software that has been adapted to the Librem 5's screen. Other packages can be found and installed using the search tool within the store, but may not scale well to the screen without further modification. Using `Scale Screen` app, a part of `librem5-goodies`, to temporarily reduce scale, may help with such non-adaptive apps.
|
|
|
|
|
|
### System/Software Updates
|
|
|
|
|
|
Click `Updates` tab within the PureOS Store (and per [this issue](https://source.puri.sm/Librem5/pureos-store/-/issues/20), hit the `Restart & Update` button *twice*); or, install from the **Terminal** by entering:
|
|
|
`sudo apt update && sudo apt upgrade`
|
|
|
(sudo = superuser do / i.e. admin level action)
|
|
|
|
|
|
### Enable Flatpak with Flathub repository
|
|
|
|
|
|
Flatpak support and PureOS store integration are installed by default. Only need to add the Flathub repository via the terminal as described in their setup description [step 3](https://flatpak.org/setup/Debian/)
|
|
|
For example:
|
|
|
`flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo`
|
|
|
|
|
|
### Add App to favorites:
|
|
|
|
|
|
To add an app from your app list to the Favorites section (i.e. pin to the top of the list), long-press on the app, then select `Add to Favorites`. The Favorites section expands to accommodate the new favorite app. To remove an app from Favorites, long-press the app, then select `Remove from Favorites`.
|
|
|
|
|
|
### Web Apps
|
|
|
|
|
|
You can create an app icon from a web page in the browser as shown in the [Video Walkthrough](https://puri.sm/posts/librem-5-visual-walkthrough/) at position 2m:20s. Deletion / adaption via [Web Application Manager](https://docs.puri.sm/Librem_5/Web.html#web-applications).
|
|
|
|
|
|
## Recommended applications for common use cases
|
|
|
|
|
|
* See this [comprehensive list of mobile-optimized apps](https://tracker.pureos.net/w/pureos/mobile_optimized_apps. A sampling of tested applications, including screenshots, can be found at: https://forums.puri.sm/t/list-of-apps-that-fit-and-function-well-post-them-here/11361
|
|
|
* **File manager:**
|
|
|
[nemo](https://en.wikipedia.org/wiki/Nemo_%28file_manager%29) scales well without additional tweaks, especially in landscape. It can be installed with the command: `sudo apt install nemo`, or search and install within PureOS store.
|
|
|
Alternative: Install `nautilus` (not yet adaptive). Download [this ](https://source.puri.sm/Librem5/phoc/-/blob/master/helpers/scale-to-fit) and scale it to fit the screen. From the directory where the script is run `scale-to-fit org.gnome.nautilus on`.
|
|
|
* **Screenshots:** Install `librem5-goodies` (eg. in the terminal with the command `sudo apt install librem5-goodies`). After the installation it will add several apps to the app tray: `Screen Shot`, `Scale Screen`... along with other included apps.
|
|
|
See this [comprehensive list of mobile-optimized apps](https://tracker.pureos.net/w/pureos/mobile_optimized_apps). A sampling of tested applications, including screenshots, can be found at: https://forums.puri.sm/t/list-of-apps-that-fit-and-function-well-post-them-here/11361
|
|
|
|
|
|
### File manager
|
|
|
|
|
|
[nemo](https://en.wikipedia.org/wiki/Nemo_%28file_manager%29) scales well without additional tweaks, especially in landscape. It can be installed with the command: `sudo apt install nemo`, or search and install within PureOS store.
|
|
|
Alternative: Install `nautilus` (not yet adaptive). Download [this script](https://source.puri.sm/Librem5/phoc/-/blob/master/helpers/scale-to-fit) and scale it to fit the screen. From the directory where the script is, run: `scale-to-fit org.gnome.nautilus on`
|
|
|
|
|
|
### Screenshots
|
|
|
|
|
|
Install `librem5-goodies` (e.g. in the terminal with the command `sudo apt install librem5-goodies`). After the installation it will add several apps to the app tray: `Screen Shot`, `Scale Screen`... along with other included apps.
|
|
|
|
|
|
|
|
|
## Application life-cycle
|
|
|
|
|
|
* To **close an application** tip on the "roof" symbol on the bottom of the screen which shows a carousel of open apps.
|
|
|
From there you can close an app by tipping and swiping it up to the upper part/top of the mobile phone
|
|
|
* To **close an application** touch the "roof" symbol on the bottom of the screen which shows a carousel of open apps.
|
|
|
From there you can close an app by tipping and swiping it up to the upper part/top of the mobile phone
|
|
|
* To [close a blocked/hanging application](https://forums.puri.sm/t/how-to-kill-stop-a-blocked-non-responding-app-on-librem-5/12133) you can use the terminal and the `killall` command or use the app `Usage` (installed by default) where you can find the process of the app if you scroll down, tip on the app name and choose "Force quit".
|
|
|
|
|
|
## USB
|
|
|
|
|
|
* **Mount USB sticks:** USB drives are automatically recognized and mounted (you get a notification where you can open the mounted folder in a file manager).
|
|
|
* **Unmount (eject) USB sticks:** This requires to use the `umount` command in the terminal or (easier) [eject via the `nemo` file manager](https://forums.puri.sm/t/how-to-eject-usb-drive-from-librem-5-with-a-gui/12132): Select the mounted USB drive in the device tree node in nemo, the choose `eject` in the `File` menu so safely unmount the USB drive
|
|
|
### Mount USB sticks
|
|
|
|
|
|
USB drives are automatically recognized and mounted (you get a notification where you can open the mounted folder in a file manager).
|
|
|
|
|
|
### Unmount (eject) USB sticks
|
|
|
|
|
|
This requires to use the `umount` command in the terminal or (easier) [eject via the `nemo` file manager](https://forums.puri.sm/t/how-to-eject-usb-drive-from-librem-5-with-a-gui/12132): Select the mounted USB drive in the device tree node in nemo, the choose `eject` in the `File` menu so safely unmount the USB drive
|
|
|
|
|
|
## Calls
|
|
|
|
|
|
* **Calls/Voice quality:** Adjust Internal Microphone volume in `Settings` > `Sound` for optimal clarity.
|
|
|
* **Calls from terminal:** `xdg-open tel://<phone-number>` as seen [here](https://social.librem.one/@eliasr/105243293093757846).
|
|
|
* **Mobile Settings:** While Mobile is disabled, either by the settings toggle or by the kill switch, granular Mobile Settings are inaccessible. Also, at the moment, saved messages in Chats cannot be viewed, nor new messages composed; a fix for this is being worked on, and the issue does not affect other installed messaging apps, and also not other chat protocols used by chatty (e.g xmpp), if any.
|
|
|
### Calls/Voice quality
|
|
|
|
|
|
Adjust Internal Microphone volume in `Settings` > `Sound` for optimal clarity.
|
|
|
|
|
|
### Calls from terminal
|
|
|
|
|
|
`xdg-open tel://<phone-number>` as seen [here](https://social.librem.one/@eliasr/105243293093757846).
|
|
|
|
|
|
### Mobile Settings
|
|
|
|
|
|
While Mobile is disabled, either by the settings toggle or by the kill switch, granular Mobile Settings are inaccessible. Also, at the moment, saved messages in Chats cannot be viewed, nor new messages composed; a fix for this is being worked on, and the issue does not affect other installed messaging apps, and also not other chat protocols used by chatty (e.g xmpp), if any.
|
|
|
|
|
|
## Mail (Geary)
|
|
|
|
... | ... | @@ -75,27 +168,37 @@ Alternative: Install `nautilus` (not yet adaptive). Download [this ](https://sou |
|
|
|
|
|
## Contacts
|
|
|
|
|
|
* **Import contacts** from .vcf file: Install the `librem5-goodies` package from the command line, one of the scripts it has is a small yad/bash application to import contacts from a *.vcf file to [GNOME Contacts](https://wiki.gnome.org/Apps/Contacts). Import from SIM card is currently not supported.
|
|
|
* Contacts information appears to be stored in `/home/purism/.local/share/evolution/addressbook/system/contacts.db`
|
|
|
* **General Carddav** and Caldav functionality: Install `evolution` package from the command line, add regular Carddav and Caldav accounts via Evolution interface, attach [external screen](https://forums.puri.sm/t/myl5-librem-5-evergreen-first-impressions/11217/59?u=5a54a) (Evolution is not adaptive for Librem 5).
|
|
|
### Import contacts
|
|
|
|
|
|
From `.vcf` file: Install the `librem5-goodies` package from the command line, one of the scripts it has is a small yad/bash application to import contacts from a *.vcf file to [GNOME Contacts](https://wiki.gnome.org/Apps/Contacts). Import from SIM card is currently not supported.
|
|
|
|
|
|
Contacts information appears to be stored in:
|
|
|
`/home/purism/.local/share/evolution/addressbook/system/contacts.db`
|
|
|
|
|
|
### General Carddav and Caldav functionality
|
|
|
|
|
|
Install the `evolution` package from the command line, add regular Carddav and Caldav accounts via Evolution interface, attach [external screen](https://forums.puri.sm/t/myl5-librem-5-evergreen-first-impressions/11217/59?u=5a54a) (Evolution is not adaptive for Librem 5).
|
|
|
|
|
|
## Locale
|
|
|
|
|
|
If you have set a specific locale (e.g. en_AU.UTF-8) then you will probably get warnings all over the place (e.g. from `man`, `locale` itself, from `perl` during an install). The solution appears to be
|
|
|
`sudo dpkg-reconfigure locales`
|
|
|
then page down to your chosen locale, press the space bar to select it - `[ ]` will change to `[*]`, then Tab to move to Ok then Enter.
|
|
|
If you have set a specific locale (e.g. en_AU.UTF-8) then you will probably get warnings all over the place (e.g. from `man`, `locale` itself, from `perl` during an install). The solution appears to be:
|
|
|
`sudo dpkg-reconfigure locales`
|
|
|
Then page down to your chosen locale, press the space bar to select it - `[ ]` will change to `[*]`, then Tab to move to Ok then Enter.
|
|
|
That will then take an eternity generating all the selected locales and eventually doing the one that you just selected.
|
|
|
|
|
|
## Network Config
|
|
|
|
|
|
Network Manager stores the configuration in `/etc/NetworkManager`. Specifically, information that is per-connection is stored in the `system-connections` subdirectory in files called `xyz.nmconnection` where xyz is the connection name.
|
|
|
The proper way to 'get' and 'set' per-connection settings, if wanting to do from the command line, is via the `nmcli` command.
|
|
|
* show the connections that exist: `nmcli conn show`
|
|
|
* show a specific connection where uuid is as listed by the first command: `nmcli conn show uuid | grep whatever`
|
|
|
* retrieve a specific field: `nmcli -g fieldname conn show uuid`
|
|
|
* modify a specific field: `nmcli conn modify uuid fieldname fieldvalue`
|
|
|
Network Manager stores the configuration in `/etc/NetworkManager`. Specifically, information that is per-connection is stored in the `system-connections` subdirectory in files called `xyz.nmconnection` where xyz is the connection name.
|
|
|
The proper way to 'get' and 'set' per-connection settings, if wanting to do from the command line, is via the `nmcli` command.
|
|
|
|
|
|
* Show the connections that exist: `nmcli conn show`
|
|
|
* Show a specific connection where uuid is as listed by the first command:
|
|
|
`nmcli conn show uuid | grep whatever`
|
|
|
* Retrieve a specific field: `nmcli -g fieldname conn show uuid`
|
|
|
* Modify a specific field: `nmcli conn modify uuid fieldname fieldvalue`
|
|
|
|
|
|
## Modem Manager
|
|
|
|
|
|
To get modem information:
|
|
|
* Firstly, `mmcli -L`
|
|
|
to list the modems. For example, gives: /org/freedesktop/ModemManager1/Modem/**1**
|
... | ... | @@ -115,57 +218,48 @@ That will show you your IMSI, among other pieces of information. |
|
|
|
|
|
## Tutorials
|
|
|
|
|
|
* ***SECURE SHELL (`ssh`)***
|
|
|
### SECURE SHELL (`ssh`)
|
|
|
|
|
|
_Note that using the L5's passcode to log in remotely provides relatively weak security. See related tutorials for better authentication solutions._
|
|
|
|
|
|
SECURE SHELL
|
|
|
SECURE SHELL
|
|
|
Logging in remotely to the L5’s terminal in order to execute commands
|
|
|
|
|
|
On your computer (the client):
|
|
|
|
|
|
`sudo apt update && sudo apt upgrade`
|
|
|
On your computer (the client):
|
|
|
`sudo apt update && sudo apt upgrade`
|
|
|
`sudo apt install openssh-client`
|
|
|
|
|
|
On the Librem 5 (the remote device):
|
|
|
`sudo apt update && sudo apt upgrade`
|
|
|
On the Librem 5 (the remote device):
|
|
|
`sudo apt update && sudo apt upgrade`
|
|
|
`sudo apt install openssh-server`
|
|
|
|
|
|
Confirm that it worked (i.e. is “active”):
|
|
|
|
|
|
Confirm that it worked (i.e. is “active”):
|
|
|
`sudo systemctl status ssh`
|
|
|
|
|
|
If not active:
|
|
|
|
|
|
If not active:
|
|
|
`sudo systemctl enable ssh`
|
|
|
|
|
|
If firewall blocks `ssh` on the remote device:
|
|
|
|
|
|
If firewall blocks `ssh` on the remote device:
|
|
|
`sudo ufw allow ssh`
|
|
|
|
|
|
Other firewall options available:
|
|
|
|
|
|
`stop`
|
|
|
|
|
|
`start`
|
|
|
|
|
|
Other firewall options available:
|
|
|
`stop`
|
|
|
`start`
|
|
|
`disable`
|
|
|
|
|
|
Determine IP address of the remote device (L5):
|
|
|
|
|
|
Available in the `What IP` app, or via the L5’s terminal:
|
|
|
|
|
|
|
|
|
Available in the `What IP` app, or via the L5’s terminal:
|
|
|
`ip address` or `ifconfig`
|
|
|
|
|
|
or log in to your router to find the L5’s IP address.
|
|
|
|
|
|
To log in over WiFi to the remote device (L5) from your computer:
|
|
|
|
|
|
To log in over WiFi to the remote device (L5) from your computer:
|
|
|
`ssh username@REMOTE.IP.ADDRESS.HERE`
|
|
|
|
|
|
Example: `ssh purism@192.168.xxx.xxx`
|
|
|
|
|
|
Type the word “yes” at the next terminal question, then provide the password to your L5. The following prompt will appear:
|
|
|
|
|
|
Type the word “yes” at the next terminal question, then provide the password to your L5. The following prompt will appear:
|
|
|
`purism@pureos:~$`
|
|
|
|
|
|
You are now logged into your L5 from your computer’s terminal, and can easily execute any terminal commands remotely. This also makes it easy to copy terminal output and paste it here in the forum or elsewhere.
|
... | ... | @@ -176,7 +270,7 @@ In the settings panel of the L5, under `Sharing`, you should now see that Remote |
|
|
|
|
|
To exit `ssh`, use the command `exit` in the terminal.
|
|
|
|
|
|
* ***SECURE COPY (`scp`)***
|
|
|
### SECURE COPY (`scp`)
|
|
|
|
|
|
Copying files and folders remotely between devices on your network
|
|
|
|
... | ... | @@ -184,8 +278,7 @@ _Note that using the L5's passcode to log in remotely is relatively weak securit |
|
|
|
|
|
With `ssh` enabled, you can use the Secure Copy command (`scp`) to copy files or entire folders from the L5 to your computer, and vice versa. Note that in order to perform `scp`, you _do not_ log in to the L5 via `ssh` first.
|
|
|
|
|
|
The syntax is:
|
|
|
|
|
|
The syntax is:
|
|
|
`scp remote_username@REMOTE.IP.ADDRESS.HERE:/remote/file.txt /local/directory`
|
|
|
|
|
|
Examples:
|
... | ... | @@ -210,11 +303,11 @@ Example, from your Home directory: |
|
|
|
|
|
`scp example.txt purism@192.168.xxx.xxx:/home/purism/Documents` (This goes to the L5’s Documents folder.)
|
|
|
|
|
|
TIP: Although you perform `scp` without logging in to the other device with `ssh`, it may be helpful to use `ssh` first in order to list (`ls`) the contents of a folder so that it will be easy to copy and paste the name of a file or files for `scp`. Just be sure to exit `ssh` before you use `scp` or you’ll get an error.
|
|
|
**TIP:** Although you perform `scp` without logging in to the other device with `ssh`, it may be helpful to use `ssh` first in order to list (`ls`) the contents of a folder so that it will be easy to copy and paste the name of a file or files for `scp`. Just be sure to exit `ssh` before you use `scp` or you’ll get an error.
|
|
|
|
|
|
(Related discussion on this topic can be found in the community forum: https://forums.puri.sm/t/tutorial-using-ssh-and-scp/13080)
|
|
|
|
|
|
* ***ENHANCING SECURITY FOR SECURE SHELL (`ssh`)***
|
|
|
### ENHANCING SECURITY FOR SECURE SHELL (`ssh`)
|
|
|
|
|
|
Relying on the L5's passcode when using `ssh` for remote access provides relatively weak security. See below for more secure options.
|
|
|
|
... | ... | @@ -244,7 +337,7 @@ On computer, copy the contents of the id_rsa.pub key onto the Librem 5. The foll |
|
|
|
|
|
`ssh-copy-id -i ~/.ssh/id_rsa.pub purism@host`
|
|
|
|
|
|
(ex. `192.168.xxx.xxx`, substitute with your ip address)
|
|
|
(example: `192.168.xxx.xxx`, substitute with your ip address)
|
|
|
|
|
|
You will be asked for your password into the Librem 5 in this step.
|
|
|
Only your public key is copied. Always keep your private key private.
|
... | ... | @@ -259,7 +352,7 @@ On Librem 5, disable password-based authentication |
|
|
|
|
|
`ssh purism@host`
|
|
|
|
|
|
Use an editor like `Nano` or `Vim` to edit the following `/etc/ssh/sshd_config`, using admin rights.
|
|
|
Use an editor like `nano` or `vim` to edit the following `/etc/ssh/sshd_config`, using admin rights.
|
|
|
|
|
|
`sudo nano /etc/ssh/sshd_config`
|
|
|
|
... | ... | @@ -287,11 +380,3 @@ You should get the following error: |
|
|
You have now successfully disabled password based authentication in `ssh`.
|
|
|
|
|
|
(Related discussion on this topic can be found in the community forum: https://forums.puri.sm/t/tutorial-enable-key-based-authentication-via-ssh-on-your-librem-5/13137) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|