Jump to content

Sxmo/Tips and Tricks

From postmarketOS Wiki
Revision as of 23:17, 4 September 2021 by Baroque0 (talk | contribs)

Here is a growing list of tips, tricks and configuration snippets for using Sxmo.

This pages is intended to focus mostly on "non-core" issues, such as running apps and everyday usability. The core configuration issues should end up in sxmo doc, as discussed on https://todo.sr.ht/~mil/sxmo-tickets/275


Calls, SMS, Modem

Sometimes Modem gets stuck

Sometimes the modem gets irresponsive*, stops receiving/sending calls, even when toggled. Rebooting sometimes doesn't change this situation as it seems the modem then needs a hard reset.

It seems it may happen when device gets out of battery, and/or when attempting to activate the modem when under 10% battery...

Preferred solution: restart eg25-manager*, then modemmanager

  • (make sure to check it didn't fail via i.e. rc-status, if it did, restart it again, and only then modemmanager)

Note that such reset/restart functionality is already in sxmo, however, they don't work as reliable as they should (2021-09-04)

You can check dmesg for the modem registering once again if your attempt was successful. If it was not successful, check for a failure of either daemons and retry, or move on to the next method.

Reliable solution: reboot.

Sometimes SMS dont get sent/received

It may be a problem with MMS getting "stuck" in the pile, not being processed, and blocking further processing of SMS.

One solution involves mmsd-ng

Another solution is to manually use Modem Manager to delete the incriminating mms:

mmcli --modem 0 --messaging-list-sms

mmcli --modem 0 --sms 0

mmcli --modem 0 --messaging-delete-sms=##

mmcli --modem -r

(the identifying number of the modem may vary, being incremented upon toggles and sometimes reboots. you probably also can use --modem any)

How to send an SMS via command line (or ssh)

cat mysupersmsfile | sxmo_modemsendsms.sh +33123123123 -

How to send USSD

try something like:

mmcli -m any --3gpp-ussd-initiate="*100#"

Retrieving signal strength information

See https://wiki.postmarketos.org/wiki/Modem#ModemManager

General configuration

How to easily change the size of the text, system-wide?

Change the value in: /usr/share/sxmo/appcfg/xresources_xft.xr (try 160!)

Xft.dpi: 192


if you remove the dpi line there you can set dpi on the fly via

xrandr --dpi x


How to launch programms on startup?

The easy way is to edit the following file (you can also edit it via the config > edit configuration entry):

vi .config/sxmo/xinit

and add your programms somewhere. Warning: they have to execute quickly and/or not stay in foreground, or the window manager won't start (don't forget to add "&" at the end)

mount /tmp/ in RAM, to save write cycles on storage device

add the following in /etc/fstab

tmpfs /tmp tmpfs rw,nodev 0 0

Help with adding cronjobs

You can edit your crontab via

crontab -e

This website https://crontab.guru/ has proven useful in making cronjobs.

If using mnc, make sure that commands run via sxmo_rtcwake.sh.

Example:

55-59/2 7 * * 1-5 sxmo_rtcwake.sh /home/user/script

How to customize the colours/fonts of the interface?

xorg/dwm

Get example in the alpine blooms theme by Tetrakist, as entries to add in /home/user/.Xresources

wayland/sway

  • .config/sxmo/sway
  • bemenu parameters through BEMENU_OPTS env variable. for instance in .profile:

export BEMENU_OPTS="--fn 'FiraMono Nerd Font 13' --tf '$MYCOLOR' --tb '#00000090' --nb '#00000090' --nf '$MYCOLOR' --hb '$MYCOLOR' --hf '#000000' --sb '$MYCOLOR' --sf '$MYCOLOR' --scb '#000000' --scf '$MYCOLOR' "

  • mako config in .config/mako/config

Some notifications stay stuck on the screen!

pkill dunst


A simple way to share sxmo's connection through USB (aka "USB tethering")

  • launch nmtui (a rotated screen is usually better)
  • add a new connection, type "ethernet" for interface "usb0", in ipv4 settings chose "shared".
  • you may want to uncheck "automatically connect", so you can manually activate it later, when you need it, in the "networks" dmenu.
  • activate that connection.

voilà!

Applications specific

What to use for cartography/navigation?

Pure-maps sort of works (using OpenTopo or Sputnik tiles), as well as Marble (QT/KDE, heavy...). Unsure yet how to make the GPS work for both of these, but it has reported being feasible...

Apparently a good start to enable GPS should be:

sudo /etc/gpsd/device-hook "" ACTIVATE

See https://wiki.postmarketos.org/wiki/Applications_by_category#Geography for geography applications.

QT app (vlc-qt, etc.) doesnt fit the screen!

try adding the following in your .config/sxmo/xinit

export QT_AUTO_SCREEN_SCALE_FACTOR=1 export QT_SCALE_FACTOR=0.7

(change the factor until it suits your need)

Extra features, advanced tweaking

A Wayland version of Sxmo, really??

Many dreamt of it, it seems to be in the pipes, under heavy/advanced development!

To try it out **at your own risk**, according to some well-informed participants in the project:

"there is a branch on sxmo-build

swmo

then you just run the script"  :)

See also

In case of a problem, try to completly remove your build dir and run the build script again (sxmo_build_all.sh).