... | ... | @@ -12,42 +12,44 @@ Check out this post and watch the [Librem 5 Video Walkthrough](https://puri.sm/p |
|
|
|
|
|
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
|
|
|
### 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`
|
|
|
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`
|
|
|
|
|
|
This issue has been solved in more recent versions of PureOS
|
|
|
|
|
|
### Standby mode
|
|
|
### 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.
|
|
|
[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.
|
|
|
|
|
|
To check the battery state from a shell use `upower -d`. Or read technical details with:
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
cd /sys/class/power_supply/max170xx_battery
|
|
|
cat capacity
|
|
|
65
|
|
|
cat temp
|
|
|
432
|
|
|
```
|
|
|
|
|
|
### Show battery percentage
|
|
|
|
|
|
By default the Phosh interface shows the battery level as a graphic. To show the battery level as a percentage, use this command:<br>
|
|
|
By default the Phosh interface shows the battery level as a graphic. To show the battery level as a percentage, use this command:\
|
|
|
`gsettings set org.gnome.desktop.interface show-battery-percentage true`
|
|
|
|
|
|
### GPS
|
|
|
|
|
|
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
|
|
|
|
|
|
`Phosh` now acts as a `geoclue` agent so applications like `GNOME maps` and `Pure Maps` can use use location services with the internet connection to show your location on the maps; see: https://puri.sm/posts/librem-5-news-summary-april-2021/
|
|
|
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>
|
|
|
|
|
|
`Phosh` now acts as a `geoclue` agent so applications like `GNOME maps` and `Pure Maps` can use use location services with the internet connection to show your location on the maps; see: <https://puri.sm/posts/librem-5-news-summary-april-2021/>
|
|
|
|
|
|
### Convergence
|
|
|
|
... | ... | @@ -55,9 +57,9 @@ Convergence is not yet supported by the software. |
|
|
|
|
|
## General
|
|
|
|
|
|
### Backup
|
|
|
### 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
|
|
|
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
|
|
|
|
... | ... | @@ -65,18 +67,18 @@ Not available out-of-the-box. Can be tweaked by using GNOME Tweaks app and set a |
|
|
|
|
|
Alternatively, use [gsettings](http://manpages.ubuntu.com/manpages/trusty/man1/gsettings.1.html): `gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"`
|
|
|
|
|
|
### Firewall
|
|
|
### 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`.
|
|
|
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
|
|
|
### IMEI
|
|
|
|
|
|
To find the IMEI of your Librem 5, go to `Settings` > `Mobile` > `Modem Details`.
|
|
|
|
|
|
You can also get this information with: `mmcli -m any | grep imei`
|
|
|
|
|
|
### Notifications
|
|
|
### Notifications
|
|
|
|
|
|
Accessed by touching the battery icon at the top right corner of the screen.
|
|
|
|
... | ... | @@ -92,11 +94,11 @@ You can start a shell as `root` by running the command: `sudo -s` |
|
|
|
|
|
### 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).
|
|
|
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
|
|
|
Here's a quick and fun introduction to basic Terminal commands: <https://ubuntu.com/tutorials/command-line-for-beginners#1-overview>
|
|
|
|
|
|
### Username
|
|
|
### 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.
|
|
|
|
... | ... | @@ -104,7 +106,7 @@ Default user name is: `purism`. Additional user names can be added from the term |
|
|
|
|
|
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.
|
|
|
|
|
|
### Screen Orientation
|
|
|
### Screen Orientation
|
|
|
|
|
|
`Phosh` supports automatic screen orientation. To enable or disable it toggle the button in the notifications area.
|
|
|
|
... | ... | @@ -114,21 +116,19 @@ The default hostname is `pureos`. In order to change the hostname you need to ed |
|
|
|
|
|
## Software installations and updates (apps and OS)
|
|
|
|
|
|
### Install Software
|
|
|
### 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.
|
|
|
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`
|
|
|
Click `Updates` tab within the PureOS Store (and per [this issue](https://source.puri.sm/Librem5/pureos-store/-/issues/20 'First press of "Restart & Update" button does not work, only second attempt works'), 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
|
|
|
### 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 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:
|
... | ... | @@ -141,13 +141,13 @@ You can create an app icon from a web page in the browser as shown in the [Video |
|
|
|
|
|
## 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
|
|
|
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
|
|
|
|
|
|
Nautilus is adaptive on both Amber and Byzantium.
|
|
|
|
|
|
Alternative: [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: [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.
|
|
|
|
|
|
You can also install `Portfolio` file manager.
|
|
|
|
... | ... | @@ -155,16 +155,14 @@ You can also install `Portfolio` file manager. |
|
|
|
|
|
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** 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 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
|
|
|
### 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).
|
|
|
|
... | ... | @@ -174,7 +172,7 @@ This requires to use the `umount` command in the terminal or (easier) eject via |
|
|
|
|
|
## Calls
|
|
|
|
|
|
### Calls/Voice quality
|
|
|
### Calls/Voice quality
|
|
|
|
|
|
Adjust Internal Microphone volume in `Settings` > `Sound` for optimal clarity.
|
|
|
|
... | ... | @@ -182,7 +180,7 @@ Adjust Internal Microphone volume in `Settings` > `Sound` for optimal clarity. |
|
|
|
|
|
`xdg-open tel://<phone-number>` as seen [here](https://social.librem.one/@eliasr/105243293093757846).
|
|
|
|
|
|
### Mobile Settings
|
|
|
### 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.
|
|
|
|
... | ... | @@ -190,7 +188,7 @@ While Mobile is disabled, either by the settings toggle or by the kill switch, g |
|
|
|
|
|
At the current time, this is a bit untidy but it can be done.
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
# Pause chatty
|
|
|
killall -STOP chatty
|
|
|
|
... | ... | @@ -212,7 +210,7 @@ killall -CONT chatty |
|
|
|
|
|
In my testing, the dest-phone-number did not have to be a full international-format mobile number. Your mileage may vary.
|
|
|
|
|
|
Unless you are a bash wiz it would be best to avoid any quote characters (` " ') in your-content.
|
|
|
Unless you are a bash wiz it would be best to avoid any quote characters (\` " ') in your-content.
|
|
|
|
|
|
If scripting this then it might be wise to wait until the text message is actually sent before resuming `chatty`. You can get the status of the message with: `mmcli -m any --messaging-list-sms`
|
|
|
|
... | ... | @@ -222,16 +220,15 @@ As an aside, if your Librem 5 becomes gummed up with an MMS that you can't recei |
|
|
|
|
|
* If the incoming mail server or the outgoing mail server require a port number then specify the hostname as `hostname:portnumber`
|
|
|
* There is no support for the POP protocol. Mail can only be received using the IMAP protocol.
|
|
|
* Config information is stored in `/home/purism/.config/geary/account_01/geary.ini`
|
|
|
(or replace `_01` with subsequent numbers if more than one account)
|
|
|
* Config information is stored in `/home/purism/.config/geary/account_01/geary.ini` (or replace `_01` with subsequent numbers if more than one account)
|
|
|
|
|
|
## Contacts
|
|
|
|
|
|
### Import 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.
|
|
|
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:
|
|
|
Contacts information appears to be stored in:\
|
|
|
`/home/purism/.local/share/evolution/addressbook/system/contacts.db`
|
|
|
|
|
|
### General Carddav and Caldav functionality
|
... | ... | @@ -240,19 +237,19 @@ Install the `evolution` package from the command line, add regular Carddav and C |
|
|
|
|
|
## 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.
|
|
|
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`
|
|
|
* 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`
|
|
|
|
... | ... | @@ -262,14 +259,16 @@ To get modem information: |
|
|
|
|
|
* Using the command: `mmcli -m any` will display information on all modems installed on the device, in the case of the Librem 5, there is only one.
|
|
|
|
|
|
Likewise to get SIM information, you can use the command: `mmcli -i any`
|
|
|
That will show you your IMSI, among other pieces of information.
|
|
|
Likewise to get SIM information, you can use the command: `mmcli -i any` That will show you your IMSI, among other pieces of information.
|
|
|
|
|
|
But you can also search explicitly to get modem indexes and SIM indexes.
|
|
|
|
|
|
* Firstly, `mmcli -L`
|
|
|
to list the modems. For example, gives: /org/freedesktop/ModemManager1/Modem/**1**
|
|
|
* Firstly, `mmcli -L` to list the modems. For example, gives: /org/freedesktop/ModemManager1/Modem/**1**
|
|
|
|
|
|
|
|
|
- so the modem index to use at this moment in time is ‘1’.
|
|
|
|
|
|
|
|
|
* Then, `mmcli -m M` where M is replaced with the modem index.
|
|
|
* You can check, in passing, your own phone number (`mmcli -m M | grep own:`) and get the SIM index (`mmcli -m M | grep SIM`)
|
|
|
* You can also check what mobile network you are on with `mmcli -m M | grep operator`. The operator id comprises three digits for the Mobile Country Code (MCC) followed by two or three digits for the Mobile Network Code (MNC).
|
... | ... | @@ -285,14 +284,13 @@ Method A: |
|
|
|
|
|
`mmcli` can execute an AT command for you but Modem Manager has to be in "debug" mode for that to work. So:
|
|
|
|
|
|
change the ExecStart line in the file `/lib/systemd/system/ModemManager.service` by adding
|
|
|
`--debug` so that the line looks like this:
|
|
|
change the ExecStart line in the file `/lib/systemd/system/ModemManager.service` by adding `--debug` so that the line looks like this:
|
|
|
|
|
|
`ExecStart=/usr/sbin/ModemManager --debug`
|
|
|
|
|
|
After that, run the following commands to make the change take effect:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
sudo systemctl daemon-reload
|
|
|
sudo systemctl restart ModemManager.service
|
|
|
```
|
... | ... | @@ -316,7 +314,8 @@ You can communicate directly with the modem. This involves installing a program |
|
|
Then `mmcli -m any | grep ttyUSB`
|
|
|
|
|
|
The output will look like:
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
| ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB1 (at), ttyUSB2 (at),
|
|
|
| ttyUSB3 (at), wwan0 (net)
|
|
|
```
|
... | ... | @@ -360,44 +359,41 @@ Note that the command to examine logged messages via `journald` is `journalctl` |
|
|
|
|
|
_Note that using the L5's passcode to log in remotely provides relatively weak security. See related tutorials for better authentication solutions._
|
|
|
|
|
|
SECURE SHELL
|
|
|
Logging in remotely to the L5’s terminal in order to execute commands
|
|
|
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`
|
|
|
|
|
|
Then:
|
|
|
|
|
|
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`
|
|
|
`sudo apt install openssh-server`
|
|
|
On the Librem 5 (the remote device): `sudo apt update && sudo apt upgrade`
|
|
|
|
|
|
Confirm that it worked (i.e. is “active”):
|
|
|
`sudo systemctl status ssh`
|
|
|
Then:
|
|
|
|
|
|
If not active:
|
|
|
`sudo systemctl enable ssh`
|
|
|
`sudo apt install openssh-server`
|
|
|
|
|
|
If firewall blocks `ssh` on the remote device:
|
|
|
`sudo ufw allow ssh`
|
|
|
Confirm that it worked (i.e. is “active”): `sudo systemctl status ssh`
|
|
|
|
|
|
Other firewall options available:
|
|
|
`stop`
|
|
|
`start`
|
|
|
`disable`
|
|
|
If not active: `sudo systemctl enable ssh`
|
|
|
|
|
|
If firewall blocks `ssh` on the remote device: `sudo ufw allow ssh`
|
|
|
|
|
|
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.
|
... | ... | @@ -414,13 +410,13 @@ Once `ssh` is set up, a simpler way to remotely access files on the Librem 5 is |
|
|
|
|
|
With both devices powered on, from the host machine:
|
|
|
|
|
|
-Open the file browser
|
|
|
\-Open the file browser
|
|
|
|
|
|
-Type `Control`+`L` to bring up the location bar
|
|
|
\-Type `Control`+`L` to bring up the location bar
|
|
|
|
|
|
-Enter `sftp://xxx.xxx.xxx.xxx` (filling in the IP address of the L5
|
|
|
\-Enter `sftp://xxx.xxx.xxx.xxx` (filling in the IP address of the L5
|
|
|
|
|
|
-Authenticate with the L5's password
|
|
|
\-Authenticate with the L5's password
|
|
|
|
|
|
This will mount the L5's file system. Navigate to the `Home` directory and the desired sub-directory to copy, cut, or paste as you like.
|
|
|
|
... | ... | @@ -434,7 +430,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:
|
... | ... | @@ -461,28 +457,25 @@ Example, from your Home directory: |
|
|
|
|
|
**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)
|
|
|
(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`)
|
|
|
|
|
|
Relying on the L5's passcode when using `ssh` for remote access provides relatively weak security. See below for more secure options.
|
|
|
|
|
|
* ***Option 1:*** Use private/public key-pair authentication, and disable password-based authentication for remote login.
|
|
|
* **_Option 1:_** Use private/public key-pair authentication, and disable password-based authentication for remote login.
|
|
|
|
|
|
These instructions will also work with a Unix/Linux-based server, or the Pinephone.
|
|
|
|
|
|
Enable ssh access to your Librem 5. (See related tutorial.)
|
|
|
|
|
|
|
|
|
On computer, generate the public/private RSA keys.
|
|
|
|
|
|
Open a Terminal session on your computer and type the following command:
|
|
|
|
|
|
`ssh-keygen -t rsa`
|
|
|
OR
|
|
|
`ssh-keygen`
|
|
|
`ssh-keygen -t rsa` OR `ssh-keygen`
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
Enter file in which to save the key (/home/{YOUR_ID}/.ssh/id_rsa):
|
|
|
Created directory ‘/home/{YOUR_ID}/.ssh’.
|
|
|
Enter passphrase (empty for no passphrase):
|
... | ... | @@ -495,10 +488,9 @@ 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`
|
|
|
|
|
|
(example: `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.
|
|
|
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.
|
|
|
|
|
|
Restart your phone.
|
|
|
|
... | ... | @@ -532,12 +524,11 @@ To test that password-based authentication is actually disabled, from computer, |
|
|
|
|
|
`ssh otherid@host`
|
|
|
|
|
|
You should get the following error:
|
|
|
`otherid@host: Permission denied (publickey)`
|
|
|
You should get the following error: `otherid@host: Permission denied (publickey)`
|
|
|
|
|
|
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)
|
|
|
(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>)
|
|
|
|
|
|
### Setting a Custom Background in Phosh
|
|
|
|
... | ... | @@ -547,7 +538,7 @@ In the terminal, create the file `gtk.css` (if it doesn't already exist) using a |
|
|
|
|
|
Then add the following to the `gtk.css` file. (Change the path to point to your chosen image.)
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
/*
|
|
|
* Set a background for the lockscreen.
|
|
|
*/
|
... | ... | @@ -575,13 +566,15 @@ The background image can be set to different levels of transparency by changing |
|
|
|
|
|
You can also change the gnome background. (This is not needed in pureos-byzantium, as a graphical option is present.):
|
|
|
|
|
|
`gsettings set org.gnome.desktop.background picture-uri file:///path/to/picture_file`
|
|
|
```plaintext
|
|
|
`gsettings set org.gnome.desktop.background picture-uri file:///path/to/picture_file`
|
|
|
```
|
|
|
|
|
|
e.g. `gsettings set org.gnome.desktop.background picture-uri file:///home/purism/Pictures/image.png`
|
|
|
|
|
|
### Creating a Shortcut to Execute a Terminal Command
|
|
|
|
|
|
As an [example](https://forums.puri.sm/t/tutorial-create-a-shortcut-to-modem-info/16886), the following will create a shortcut to modem info, similar to using Android's `*#*#INFO#*#*` service code.
|
|
|
As an [example](https://forums.puri.sm/t/tutorial-create-a-shortcut-to-modem-info/16886), the following will create a shortcut to modem info, similar to using Android's `*#*#INFO#*#*` service code.
|
|
|
|
|
|
First, find an appropriate icon, edit it if desired, name it (e.g. modem.png), and save it to `.local/share/icons`, creating the `icons` folder if it doesn't exist already.
|
|
|
|
... | ... | @@ -591,20 +584,10 @@ In the terminal, enter `mmcli -L` to retrieve the modem's single-digit identifie |
|
|
|
|
|
Next, to enable the app screen launcher to run `mmcli --modem=0` (or `mmcli --modem=m any`), copy the following text into the `ModemInfo.desktop` file, which was created previously in `.local/share/applications`:
|
|
|
|
|
|
[Desktop Entry]
|
|
|
Name=ModemInfo
|
|
|
Exec=gnome-terminal -x bash -c “mmcli --modem=0 | tee modeminfo.txt; exec bash”
|
|
|
StartupNotify=true
|
|
|
Terminal=false
|
|
|
Type=Application
|
|
|
Categories=Utilities;
|
|
|
Icon=/home/purism/.local/share/icons/modem.png
|
|
|
\[Desktop Entry\] Name=ModemInfo Exec=gnome-terminal -x bash -c “mmcli --modem=0 | tee modeminfo.txt; exec bash” StartupNotify=true Terminal=false Type=Application Categories=Utilities; Icon=/home/purism/.local/share/icons/modem.png
|
|
|
|
|
|
The above automates opening the terminal, running the command, and also saves the terminal output to a text file (`modeminfo.txt`) in the home folder, as well as setting the icon to use as the launcher, all from a single tap on the app icon. The text file will be overwritten every time.
|
|
|
|
|
|
At this point, either view the output in the terminal opened by the launcher, or close the terminal and view the text file instead.
|
|
|
|
|
|
For another example, see how to create a launcher to [quick-dial a frequent telephone number](https://forums.puri.sm/t/howto-make-a-quickdial-button/12560).
|
|
|
|
|
|
|
|
|
|
|
|
\ No newline at end of file |
|
|
For another example, see how to create a launcher to [quick-dial a frequent telephone number](https://forums.puri.sm/t/howto-make-a-quickdial-button/12560). |
|
|
\ No newline at end of file |