<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ubuntu touch as PC?]]></title><description><![CDATA[<p dir="auto">Am using Linux Mint since many years. Now the idea grows to purchase an advanced mobile phone, load Ubuntu touch and use it as a mobile PC. My usage is not too heavy!<br />
Any recommendations to hard-/software combinations that might work?</p>
]]></description><link>https://forums.ubports.com/topic/11862/ubuntu-touch-as-pc</link><generator>RSS for Node</generator><lastBuildDate>Wed, 10 Jun 2026 15:31:03 GMT</lastBuildDate><atom:link href="https://forums.ubports.com/topic/11862.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Jan 2026 04:06:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ubuntu touch as PC? on Fri, 06 Mar 2026 10:08:15 GMT]]></title><description><![CDATA[<h2>protonvpn in Libertine</h2>
<p dir="auto">Out of curiosity I tried to install <code>protonvpn</code> in Libertine container in the same way one would install it on Ubuntu Desktop. Protonvpn didn't work at all, showing loads of <code>dbus</code> related errors. Libertine runs in <code>chroot</code> according to python3 error messages, which apparently complicates a lot of <code>systemd</code> related things. Maybe it is not impossible to fix, but I kindly request more skilled developers to look at the errors protonvpn is throwing to figure out what to do about it.</p>
<p dir="auto">Hopefully the protonvpn team realizes that they need to help out and make their software run also on Ubuntu Touch, not only regular Ubuntu, Debian, Fedora, openSUSE and Archlinux.</p>
<h2>Secure FTPS server</h2>
<p dir="auto">I have seen discussions that there is a need for a solution where Ubuntu Touch offers some kind of server connectivity, like secure ftp with wifi hotspot so that another device can connect directly to Ubuntu Touch and share files. The Ubuntu Touch wifi hotspot serves as an access point for another device to obtain an ip address so that a connection to the server can be made with a ftps-client.</p>
<p dir="auto">Here is a simple working python3 ftps-server example that can be installed in a Libertine container. It has been tested with Android app <a href="https://play.google.com/store/apps/details?id=com.cxinventor.file.explorer" target="_blank" rel="noopener noreferrer nofollow ugc">CX File Explorer</a> which has an inbuilt ftps client located in the section on the right side <strong>NETWORK</strong>/New Location/REMOTE/FTP -&gt; choose FTPS passive explicit mode:</p>
<h3>FTPS server which works with Ubuntu Touch internal wifi hotspot</h3>
<pre><code>#!/usr/bin/env python3                                                                 
"""                                                                                    
FTPS server with a simple switch to enable or disable pyftpdlib debug logging.         
                                                                                       
File name: start-ftps-server.py                                                        
                                                                                       
Save this file in Libertine container folder:                                          
  mkdir $HOME/ftps_server                                                              
                                                                                       
Make executable:                                                                       
  chmod +x start-ftps-server.py                                                        
                                                                                       
Run ftps server:                                                                       
  ./start-ftps-server.py [--debug]                                                     
or                                                                                     
  python3 start-ftps-server.py [--debug]                                               
                                                                                       
Stop ftps server with Ctrl + C

Default ftps username: user
Default ftps password: 12345
Default port: 2222
                                                                                       
Install dependencies:                                                                  
  apt-get install python3-pyftpdlib python3-netifaces python3-openssl                  
                                                                                       
Create ftp directory:                                                                  
  mkdir $HOME/Downloads/ftp                                                            
                                                                                       
Create self-signed certificates in the same directory as the ftps server:              
  cd $HOME/ftps_server                                                                 
  openssl req -x509 -newkey rsa:4096 -keyout keyfile.pem -out certfile.pem -days 365 -nodes                                                                                   
"""

import argparse
import logging
import netifaces

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import TLS_FTPHandler
from pyftpdlib.servers import FTPServer

from OpenSSL import SSL


def parse_args():
   parser = argparse.ArgumentParser(
       description="Start a minimal FTPS server (pyftpdlib)."
   )
   parser.add_argument(
       "--debug",
       action="store_true",
       help="Enable detailed pyftpdlib debug logging.",
   )
   return parser.parse_args()


def configure_logging(debug: bool):
   level = logging.DEBUG if debug else logging.INFO
   logging.basicConfig(
       level=level,
       format="%(asctime)s %(levelname)s %(message)s",
   )
   logging.getLogger("pyftpdlib").setLevel(level)


def get_current_ip() -&gt; str | None:
   for iface in netifaces.interfaces():
       addrs = netifaces.ifaddresses(iface)
       if netifaces.AF_INET not in addrs:
           continue
       for link in addrs[netifaces.AF_INET]:
           ip = link.get("addr")
           if ip and ip != "127.0.0.1":
               return ip
   return None


def create_ftps_server() -&gt; FTPServer:
   authorizer = DummyAuthorizer()
   authorizer.add_user(
       username="user",
       password="12345",
       homedir="/home/phablet/Downloads/ftp",
       perm="elradfmwMT",
   )

   ctx = SSL.Context(SSL.TLS_METHOD)
   ctx.use_certificate_file("/home/phablet/ftps_server/certfile.pem")
   ctx.use_privatekey_file("/home/phablet/ftps_server/keyfile.pem")

   handler = TLS_FTPHandler
   handler.authorizer = authorizer
   handler.allow_passive_mode = True
   handler.passive_ports = range(60000, 65500)

   handler.ssl_context = ctx
   handler.tls_control_required = True
   handler.tls_data_required = True

   ip = get_current_ip()
   if ip is None:
       raise RuntimeError("No non‑loopback IPv4 address found.")
   server = FTPServer((ip, 2222), handler)
   return server


if __name__ == "__main__":
   args = parse_args()
   configure_logging(args.debug)

   ftps = create_ftps_server()
   host, port = ftps.socket.getsockname()
   print(f"Starting FTPS server on {host}:{port} (debug={'on' if args.debug else 'off'})")

   try:
       ftps.serve_forever()
   except KeyboardInterrupt:
       print("\nServer stopped by user.")
   except Exception as exc:
       print(f"Server error: {exc}")

</code></pre>
<h2>Conclusions from desktop mode tests</h2>
<p dir="auto">As you may see, most software that you find on a linux desktop does actually run well enough on Ubuntu Touch, although inside Libertine container. You can get most things done that you normally would use a desktop, laptop or notebook for.</p>
<p dir="auto"><strong>The absolute biggest headache is the difficulty to get copy-paste to work well between all windows, especially to and from LibreOffice.</strong></p>
<p dir="auto"><strong>Screenshot functionality</strong> like <code>xfce4-screenshooter</code> or <code>gnome-screenshot</code> is wanted. It is used to <strong>grab a single window</strong> or to <strong>select a region</strong> and save it, or copy the screenshot directly into a chat. Printscreen key on a regular wired PS2 keyboard takes a screenshot of the whole screen and saves it in <code>~/Pictures/screenshots</code>. I didn't get <code>xfce4-screenshooter</code> or <code>gnome-screenshot</code> to work as intended.</p>
<p dir="auto">Automated, simple VPN that regularly adjusts parameters and autoselects a good node is probably wanted by some users. An example of that would be the functionality of protonvpn, which exists on Android and linux desktops.</p>
<p dir="auto">Ability to control random MAC-addresses on public wifi networks is wanted. I read somewhere that Ubuntu Touch offers some privacy concerned MAC-address shifting when moving between public wifi networks, but it would be nice to get this verified by someone who knows more about how it works in detail.</p>
<p dir="auto">I think that Ubuntu Touch with Libertine can be used as a PC, a linux desktop, already now. It passed the test to be considered good enough. Once the copy-paste functionality works to satisfaction, it will be many user's choice.</p>
<p dir="auto">If the device supports USB3.0 display out so that you can connect Ubuntu Touch to an external monitor, mouse/touchpad, keyboard and external harddisk or pendrive, you really get the PC experience already in my opinion as a newbie myself.</p>
<p dir="auto">For USB2.0 devices, it would be good to know exactly what is needed to connect to needed periferals including a monitor and compare the cost to a device which offers USB3.0 display out.</p>
<p dir="auto">I have come to understand that the USB-port is used quite a lot more than one expects, which makes it the most sensitive part that eventualy will stop working at some point.</p>
<p dir="auto">RAM memory 6GB seems to be enough for all the use cases I went through. Most of the time I see 2.5-4.2 GiB RAM used, with the absolute top at 5.9 GiB. Thunderbird and Firefox do not eat as much RAM as I thought they would do.</p>
<p dir="auto">Hopefully these use cases give readers a bit more feeling for what Ubuntu Touch in desktop mode can offer at the present, using snaps and Libertine container. It gets better each day, as more and more users start to experiment with it and share their findings.</p>
<h2>Conclusions about native mode</h2>
<p dir="auto">Desktop mode on a 24 inch monitor offers several ways to increase text sizes so that people with not perfect eyesight can adjust the zoom.</p>
<p dir="auto">The native mode when using the mobile device screen by itself does not offer as much scaling capability as the desktop mode without messing up the look and feel. As a consequence, it may at times be quite difficult to see miniature text smaller than 1mm without a magnifying glass.</p>
<p dir="auto">If Ubuntu Touch is meant for a larger target group, each app has to implement text scaling capabilities so that text can be shown bigger for those who need it without ruining the functionality of the app. Preferably, the text size settings should be set in Ubuntu Touch settings on a global level, which are then used by each app to show the text in the desired size. Android has this functionality from very early versions and new Ubuntu Touch users are going to look for these text scaling settings in the Ubuntu Touch settings.</p>
<p dir="auto">I think users would benefit from an app naming convention that clearly indicates if a native Ubuntu Touch app is supposed to run in desktop mode for improved visibility. As an example, Linphone that is usable on a device screen size five or six inches should be called Linphone. Linphone-Desktop clearly indicates that the app needs desktop mode for visibility reasons. Every app meant to be used on the device without desktop mode should be able to display large text for better visibiltiy without falling over the edge. Another example: Brave browser should be visible and usable on a small screen, otherwise it should be called Brave-Desktop to indicate that you need desktop mode to use the app for better visibility. Yet another example: Thunderbird should be usable on a small screen versus Thunderbird-Desktop which is supposed to be used in desktop mode for greater visibility. Preferably, an app should be able to be useful and have visible text on a small screen as well as in a scaled-up desktop mode.</p>
]]></description><link>https://forums.ubports.com/post/93734</link><guid isPermaLink="true">https://forums.ubports.com/post/93734</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Fri, 06 Mar 2026 10:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Sat, 07 Mar 2026 14:36:18 GMT]]></title><description><![CDATA[<h2>vlc</h2>
<p dir="auto"><strong>vlc</strong> is a good media player that can show subtitles.</p>
<p dir="auto">To install vlc, there is nothing more needed than:</p>
<pre><code>lirsh

fakeroot

apt-get update

apt-get install vlc

exit # jump out of fakeroot

exit # jump out of lirsh

if [ -d /home/phablet/.local/share/icons/hicolor ]; then
  touch /home/phablet/.local/share/icons/hicolor
else
  mkdir -p /home/phablet/.local/share/icons/hicolor/scalable/apps
  wget -O /home/phablet/.local/share/icons/hicolor/index.theme https://github.com/matthewbauer/appstream-generator/raw/refs/heads/master/data/hicolor-theme-index.theme
fi
</code></pre>
<p dir="auto">Optionally, if you want the text a bit bigger in <code>vlc</code> you can adjust the Libertine container file  <code>/usr/share/applications/vlc.desktop</code> line that starts with <code>Exec=</code> to something like:</p>
<pre><code># Exec=/usr/bin/vlc --started-from-file %U
Exec=bash -c "QT_USE_PHYSICAL_DPI=1 QT_SCALE_FACTOR=1.4 GDK_BACKEND=x11 /usr/bin/vlc --started-from-file %U"
</code></pre>
<p dir="auto">If you prefer to do this with the help of <code>sed</code>:</p>
<pre><code>lirsh

sed -i "s|^Exec=.*$|Exec=bash -c \"QT_USE_PHYSICAL_DPI=1 QT_SCALE_FACTOR=1.4 GDK_BACKEND=x11 /usr/bin/vlc --started-from-file %U\"|g" /usr/share/applications/vlc.desktop
</code></pre>
<p dir="auto">You can also edit this file from <strong>outside</strong> Libertine container:</p>
<pre><code>find / -name vlc.desktop 2&gt;/dev/null
# Output (it is the same file)
/userdata/user-data/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/vlc.desktop
/home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/vlc.desktop


# Adjust the scaling
sed -i "s|^Exec=.*$|Exec=bash -c \"QT_USE_PHYSICAL_DPI=1 QT_SCALE_FACTOR=1.4 GDK_BACKEND=x11 /usr/bin/vlc --started-from-file %U\"|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/vlc.desktop
</code></pre>
<h2>Observations</h2>
<ul>
<li>You may need to resize the window to show the whole video.</li>
<li>In full screen mode, it feels like the video skips frames or stutters. Make the window smaller, and it will flow better. If you open a video in the media player <strong>outside</strong> Libertine, the same video will flow faster or better than in vlc running <strong>inside</strong> the Libertine container. If this has to do with hardware acceleration not being used, it would explain why the video window size matters for rendering.</li>
</ul>
]]></description><link>https://forums.ubports.com/post/93724</link><guid isPermaLink="true">https://forums.ubports.com/post/93724</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Sat, 07 Mar 2026 14:36:18 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Tue, 03 Mar 2026 19:48:00 GMT]]></title><description><![CDATA[<h2>Scribus in Libertine</h2>
<p dir="auto"><strong>Scribus</strong> is written in qt, which means we can reuse the knowledge above from installing Linphone-Desktop.</p>
<p dir="auto">To install <code>scribus</code> in libertine container, do the following:</p>
<pre><code>lirsh

fakeroot

apt-get update

apt-get install scribus

exit # jump out of fakeroot

# Adjust scaling
sed -i "s|^Exec=scribus %f$|Exec=bash -c \"QT_USE_PHYSICAL_DPI=1 QT_SCALE_FACTOR=1.5 GDK_BACKEND=x11 scribus %f\"|g" /usr/share/applications/scribus.desktop

exit # jump out of lirsh

if [ -d /home/phablet/.local/share/icons/hicolor ]; then
  touch /home/phablet/.local/share/icons/hicolor
else
  mkdir -p /home/phablet/.local/share/icons/hicolor/scalable/apps
  wget -O /home/phablet/.local/share/icons/hicolor/index.theme https://github.com/matthewbauer/appstream-generator/raw/refs/heads/master/data/hicolor-theme-index.theme
fi
</code></pre>
<p dir="auto">Now, <code>scribus</code> should be visible in Ubuntu Touch main menu.</p>
<h2>Testing</h2>
<ul>
<li>I created a pdf from the layout, which worked and showed in <code>atril</code> document viewer.</li>
</ul>
]]></description><link>https://forums.ubports.com/post/93723</link><guid isPermaLink="true">https://forums.ubports.com/post/93723</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Tue, 03 Mar 2026 19:48:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Wed, 04 Mar 2026 01:44:37 GMT]]></title><description><![CDATA[<p dir="auto"><em>There is a PPA for the new gimp3 which you can test in Libertine container.</em></p>
<h2>gimp3</h2>
<p dir="auto"><code>gimp</code> is a great image manipulation tool. gimp version 3 seems to only exist in PPA for <code>noble</code> (24.04) and you may want to compare it with the snap version which is installed with <code>sudo snap install gimp</code>.</p>
<p dir="auto">To install <code>gimp</code> version 3 in Libertine container, use Libertine Tweak Tool from Openstore to activate <code>lirsh</code>. In a freshly opened terminal, enter these commands:</p>
<pre><code>lirsh

fakeroot

add-apt-repository ppa:ubuntuhandbook1/gimp-3

apt install gimp libgegl-0.4-0t64 libbabl-0.1-0

exit # jump out of fakeroot

exit # jump out of lirsh

if [ -d /home/phablet/.local/share/icons/hicolor ]; then
  touch /home/phablet/.local/share/icons/hicolor
else
  mkdir -p /home/phablet/.local/share/icons/hicolor/scalable/apps
  wget -O /home/phablet/.local/share/icons/hicolor/index.theme https://github.com/matthewbauer/appstream-generator/raw/refs/heads/master/data/hicolor-theme-index.theme
fi
</code></pre>
<p dir="auto">Now gimp3 icon should be visible in Ubuntu Touch main menu.</p>
]]></description><link>https://forums.ubports.com/post/93721</link><guid isPermaLink="true">https://forums.ubports.com/post/93721</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Wed, 04 Mar 2026 01:44:37 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Wed, 04 Mar 2026 16:55:14 GMT]]></title><description><![CDATA[<p dir="auto"><em>Since testing out core software is exciting, let's look at how LibreOffice can be installed.</em></p>
<h2>Installing LibreOffice in Libertine</h2>
<p dir="auto">LibreOffice can be installed with terminal command: <code>sudo snap install libreoffice</code> .</p>
<p dir="auto">Let's do a PPA install of LibreOffice-fresh inside Libertine for a change. Chances that someone working with LibreOffice development is also using Ubuntu Touch is probably greater than zero. Any adaptations are likely to be seen on the <code>fresh</code> PPA, rather than the <code>stable</code> PPA.</p>
<p dir="auto">We need command <code>add-apt-repository</code> from package <code>software-properties-common</code>. We also need Libertine Tweak Tool from Openstore where we need to activate <code>lirsh</code> in our Libertine <code>noble</code> container. Once that is done, open terminal and enter these commands:</p>
<pre><code>lirsh # to enter the Libertine noble container

fakeroot

apt-get update                                                                         

apt-get upgrade                                                                        

apt-get install software-properties-common
</code></pre>
<p dir="auto">Check that there are no missing packages and that everything is installed before you continue. If needed, install the missing packages manually or use:</p>
<p dir="auto"><code>apt-get upgrade --fix-missing</code></p>
<p dir="auto">The LibreOffice-fresh PPA is installed as follows:</p>
<pre><code>add-apt-repository ppa:libreoffice/ppa

apt-get update

apt-get install libreoffice

exit # jump out of fakeroot

exit # jump out of lirsh
</code></pre>
<p dir="auto">Since I came to the conclusion that <code>Xft.dpi: 120</code> is a good starting point for experimentation in Libertine container <code>noble</code> on a Fairphone 4, let's edit file <code>.Xdefaults</code> located here (it is the same file):</p>
<pre><code># outside of lirsh
find / -name .Xdefaults 2&gt;/dev/null
Output:
/userdata/user-data/phablet/.local/share/libertine-container/user-data/noble/.Xdefaults
/home/phablet/.local/share/libertine-container/user-data/noble/.Xdefaults


cat /home/phablet/.local/share/libertine-container/user-data/noble/.Xdefaults
Output:
# default: Xft.dpi:197
Xft.dpi: 120
xterm*faceName: DejaVu Sans Mono
xterm*faceSize: 10


# Inside Libertine container
lirsh
cat ~/.Xdefaults
</code></pre>
<p dir="auto">Setting <code>Xft.dpi: 120</code> means that we will need to change the scaling of all the other apps in Libertine container that we set up earlier with the help of command <code>sed</code>. Here I put the scaling to 1.0 to remove any extra scaling but you may want another value for some apps.</p>
<pre><code>sed -i "s|GDK_DPI_SCALE=0.6|GDK_DPI_SCALE=1.0|g" /usr/share/applications/emacs.desktop

sed -i "s|GDK_DPI_SCALE=0.6|GDK_DPI_SCALE=1.0|g" /usr/share/applications/thunderbird.desktop 

sed -i "s|GDK_DPI_SCALE=0.6|GDK_DPI_SCALE=1.0|g" /usr/share/applications/firefox.desktop 

sed -i "s|GDK_DPI_SCALE=0.6|GDK_DPI_SCALE=1.0|g" /usr/share/applications/brave-browser.desktop

exit # jump out of lirsh

if [ -d /home/phablet/.local/share/icons/hicolor ]; then
  touch /home/phablet/.local/share/icons/hicolor
else
  mkdir -p /home/phablet/.local/share/icons/hicolor/scalable/apps
  wget -O /home/phablet/.local/share/icons/hicolor/index.theme https://github.com/matthewbauer/appstream-generator/raw/refs/heads/master/data/hicolor-theme-index.theme
fi
</code></pre>
<p dir="auto">Now LibreOffice-fresh icons should be visible in Ubuntu Touch main menu.</p>
<p dir="auto">The amazing part is that this fresh version of LibreOffice works flawlessly in Ubuntu Touch Libertine container, apart from the well known issue of copy paste not working between browswer(s) and other windows.</p>
<p dir="auto">To illustrate that it works also with <code>python3</code> scripting using <code>uno</code>, the following python3 test script makes libreoffice produce a sample document with a square paper size 10x10cm with some text on it, saves it as ODT and as PDF in the same directory as the script itself. The pdf document can be opened with <code>atril</code> document viewer. Another option would be to install <code>evince</code> document viewer.</p>
<pre><code>lirsh

fakeroot

apt-get update

apt-get install atril # or: evince

exit # jump out of fakeroot
</code></pre>
<h3>Testing</h3>
<pre><code>#!/usr/bin/env python3
"""
File name: create10x10.py
Create a 10 × 10 cm LibreOffice Writer document, add a heading and Lorem Ipsum,
save as ODT and PDF. The script starts LibreOffice head‑less automatically.
"""

import os, sys, time, subprocess, socket, uno
from com.sun.star.beans import PropertyValue
from com.sun.star.text.ControlCharacter import PARAGRAPH_BREAK

HOST = "127.0.0.1"
PORT = 2002
SOCKET_URL = f"uno:socket,host={HOST},port={PORT};urp;StarOffice.ComponentContext"
LIBREOFFICE_CMD = [
    "soffice",
    "--headless",
    f'--accept=socket,host={HOST},port={PORT};urp;StarOffice.ComponentContext',
]

def _props(**kw):
    return tuple(PropertyValue(Name=k, Value=v) for k, v in kw.items())

def _socket_open(host, port):
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.settimeout(0.5)
        try:
            s.connect((host, port))
            return True
        except (ConnectionRefusedError, socket.timeout):
            return False

def _start_lo():
    print("Starting LibreOffice head‑less...")
    proc = subprocess.Popen(
        LIBREOFFICE_CMD,
        stdout=subprocess.DEVNULL,
        stderr=subprocess.DEVNULL,
    )
    for _ in range(10):
        if _socket_open(HOST, PORT):
            break
        time.sleep(0.5)
    else:
        proc.terminate()
        raise RuntimeError("LibreOffice did not open the UNO socket in time.")
    print("LibreOffice ready.")
    return proc

def main(out_dir="."):
    lo_proc = None
    if not _socket_open(HOST, PORT):
        lo_proc = _start_lo()
    else:
        print("Found existing LibreOffice UNO socket.")

    # Connect to UNO
    local_ctx = uno.getComponentContext()
    resolver = local_ctx.ServiceManager.createInstanceWithContext(
        "com.sun.star.bridge.UnoUrlResolver", local_ctx
    )
    ctx = resolver.resolve(SOCKET_URL)
    smgr = ctx.ServiceManager

    desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)
    doc = desktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, ())

    # ---- Page size (language‑independent) ----
    page_styles = doc.getStyleFamilies().getByName("PageStyles")
    page_style = page_styles.getByIndex(0)          # first page style = default
    cm_to_hundredths = lambda cm: int(cm * 1000)    # 1 cm = 10 mm = 100 hundredths of mm
    page_style.Width  = cm_to_hundredths(10)
    page_style.Height = cm_to_hundredths(10)

    # ---- Insert heading (Heading 1 style) ----
    cursor = doc.Text.createTextCursor()
    cursor.ParaStyleName = "Heading 1"
    doc.Text.insertString(cursor, "Sample Heading", False)
    doc.Text.insertControlCharacter(cursor, PARAGRAPH_BREAK, False)

    # ---- Insert Lorem Ipsum as body text ----
    cursor.ParaStyleName = "Standard"
    lorem = (
        "Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
        "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
        "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris "
        "nisi ut aliquip ex ea commodo consequat."
    )
    doc.Text.insertString(cursor, lorem, False)

    # ---- Save ODT ----
    odt_path = os.path.abspath(os.path.join(out_dir, "sample.odt"))
    doc.storeToURL(uno.systemPathToFileUrl(odt_path), _props(FilterName="writer8"))

    # ---- Export PDF ----
    pdf_path = os.path.abspath(os.path.join(out_dir, "sample.pdf"))
    doc.storeToURL(uno.systemPathToFileUrl(pdf_path), _props(FilterName="writer_pdf_Export"))

    doc.close(True)
    print(f"Created: {odt_path}")
    print(f"Exported: {pdf_path}")

    if lo_proc:
        lo_proc.terminate()
        lo_proc.wait()

if __name__ == "__main__":
    main(sys.argv[1] if len(sys.argv) &gt; 1 else ".")
</code></pre>
<p dir="auto">To run the test, you can do it in two ways:</p>
<p dir="auto">a. Either run the script with python3: <code>python3 create10x10.py</code><br />
or<br />
b. Make the script executable: <code>chmod +x create10x10.py; ./create10x10.py</code></p>
<h2>Observations</h2>
<ul>
<li>Copy-paste functionality is glitchy. I haven't figured out how to copy selected text from a web browser (Morph qt6, firefox, brave) into LibreOffice (snap, PPA).</li>
<li>I noticed fewer issues with LibreOffice-fresh from PPA than with snap.</li>
<li>It is possible to use LibreOffice scripting functionality.</li>
</ul>
]]></description><link>https://forums.ubports.com/post/93720</link><guid isPermaLink="true">https://forums.ubports.com/post/93720</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Wed, 04 Mar 2026 16:55:14 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Mon, 02 Mar 2026 23:53:50 GMT]]></title><description><![CDATA[<h2>Emacs</h2>
<p dir="auto"><em>Emacs: an editor for text and code with infinite adaptation possibilities</em></p>
<p dir="auto">I have been using Emacs extensively on Ubuntu Touch as text and code editor.</p>
<p dir="auto">I only got Emacs to work <strong>inside a Libertine container</strong>, since Emacs cannot find its libraries otherwise.</p>
<p dir="auto">Emacs can be adapted in the same way as Firefox inside Libertine container to scale well.</p>
<p dir="auto">The only <strong>issues</strong> I have seen with Emacs so far is that the menus do not show one out of three times.</p>
<p dir="auto">Keyboard shortcuts, <em><strong>Ctrl</strong>, <strong>Meta</strong></em> (<em>usually the <strong>Alt</strong> key left from space bar</em>) and <em>Lisp</em> functions cover all the needs of reformating text. MELPA is a repository with lots of add-ons to deal with things like beautifying html and css code, viewing EPUBs and playing games. When using linux, Emacs is probably one of the tools which is good to know about and use. <em>Of course there are other tools which are equally good. I invite readers to share their view on which tools that are best to use as editors in Ubuntu Touch.</em></p>
<h2>Install Emacs in Libertine</h2>
<pre><code>lirsh

fakeroot

apt-get update

apt-get install emacs
</code></pre>
<p dir="auto">Adjust the <code>emacs.desktop</code> line that starts with <code>Exec=</code> to suit your eyes. I currently use these lines with default <code>Xft.dpi: 197</code> setting:</p>
<pre><code># TryExec=/usr/bin/emacs
TryExec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 /usr/bin/emacs'
# Exec=/usr/bin/emacs %F
Exec=bash -c "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 /usr/bin/emacs %F"
</code></pre>
]]></description><link>https://forums.ubports.com/post/93703</link><guid isPermaLink="true">https://forums.ubports.com/post/93703</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Mon, 02 Mar 2026 23:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Mon, 02 Mar 2026 23:49:28 GMT]]></title><description><![CDATA[<p dir="auto"><em>Out of curiosity, I tried to get Linphone-Desktop to function properly in desktop mode on my Fairphone 4 channel <code>24.04/daily</code>.</em></p>
<h2>Linphone-Desktop</h2>
<p dir="auto"><strong>Linphone-Desktop</strong> exists in many versions:</p>
<ul>
<li>AppImage(s) 4.x.y to 6.x.y, alphas, betas, nightly</li>
<li>qt5 version(s) 5.x.y</li>
<li>DEB version(s) 5.x.y to 6.x.y</li>
<li>qt6 version(s) 6.x.y</li>
</ul>
<p dir="auto">The <em>ugliest</em> install is probably the qt6 version straight from the <code>main</code> branch available on gitlab or github. I went for the main branch version in the trial to see if it would work.</p>
<p dir="auto"><strong>Compiling Linphone-Desktop</strong> is probably worth an essay by itself, but it is pretty straight forward to set CMAKE options where necessary.</p>
<p dir="auto"><strong>Packaging Linphone-Desktop</strong> into an installable DEB is probably worth another essay.</p>
<p dir="auto">It is also possible to <strong>unpack the AppImage</strong> version into a Libertine container somewhere like <code>/opt/linphone</code> and adjust <code>LD_LIBRARY_PATH</code> variable to give the executable a chance to find all libraries inside <code>/opt</code>.</p>
<p dir="auto">When launching from command line, there was a complaint about a missing qt6 module named <code>Suru</code>, but I kept re-launching the same command 3-5 times until Linphone-Desktop launched anyway without Suru module. The successfull Libertine container <code>noble</code> launch command was entered five times like this:</p>
<p dir="auto"><code>QT_USE_PHYSICAL_DPI=1 QT_SCALE_FACTOR=0.8 GDK_BACKEND=x11 LD_LIBRARY_PATH="/opt/Qt6.10.2/lib:/opt/linphone/lib:$LD_LIBRARY_PATH" /opt/linphone/bin/linphone -V</code></p>
<p dir="auto"><em>Remark: Sometimes Linphone-Desktop launches at first or third attempt. Linphone-Desktop should compile with any qt bigger or equal to version 6.10.0 (I used qt6.10.2). The initial launch showed such a tiny text in desktop mode that it was not readable at all. Some tinkering with variables in command line launch made the text bigger and the app more useful.</em></p>
<h2>Testing</h2>
<ul>
<li>Linphone-Desktop offers encryption of different types, such as <code>PostQuantum ZRTP</code>, which worked.</li>
<li>Several different sound card options appeared in the settings, of which the <code>Droid</code> soundcard worked.</li>
<li>Tested encrypted chat message delivery which worked.</li>
<li>Tested encrypted voice call (SIPS-protocol) with opus codec which worked.</li>
<li>Video camera did not work. Only static picture could be selected in the settings, which worked and was shown.</li>
</ul>
<h2>Observations</h2>
<ul>
<li>Earlier versions of Ubuntu Touch have a native Linphone, which I think would be nice to have in <code>noble</code> as well. It may not offer the advanced encryption available in version 6, but still good enough performance compatible with other SIP-softphones.</li>
<li>Ubuntu Touch noble (24.04) does not have a native Linphone or any other SIP-softphone as far as I am aware.</li>
<li>On devices that do not meet operator's VoLTE requirements, a SIPS-softphone is an alternative for calls. Signal-Desktop, SignalUT is another voice calling option. <a href="http://Matrix.org" target="_blank" rel="noopener noreferrer nofollow ugc">Matrix.org</a> yet another calling option.</li>
<li>I was <em>not</em> expecting Linphone-Desktop version 6 to work on Ubuntu Touch <code>noble</code> as well as it performed. Sound quality was good and chats were delivered as expected. Some icons were too large, but visible.</li>
<li>Wired external display functionality (USB3.0 display out) seems to be a more than neccessary feature of a device that for the moment requires desktop mode to show windows which are too large for a mobile screen dimension.</li>
<li>It should in theory be possible to port the Android version of Linphone to Ubuntu Touch, given that Linphone-Desktop works out of the box more or less. Maybe the developers of Linphone would be interested in helping out with that.</li>
<li>Since apps scale differently in Ubuntu Touch and Libertine, it is probably necessary to start off by selecting a <code>Xft.dpi</code> setting that suits most apps that do not honour any other gtk scaling variables. Linphone-Desktop and Brave are two such apps that are difficult to scale properly and should indicate proper value of <code>Xft.dpi</code>. I have come to an understanding that for Fairphone 4, <code>Xft.dpi: 120</code> could be a good starting point for experimentation. The default <code>Xft.dpi: 197</code> is probably too high scaling for Fairphone 4 in most of the test cases available on this page. If this has to do with the resolution and size of the screen itself, I do not know at this stage.</li>
<li>Having all kinds of windows open together with Linphone-Desktop uses <strong>4.2 GiB RAM memory</strong> reports <code>free -h</code>.</li>
</ul>
]]></description><link>https://forums.ubports.com/post/93702</link><guid isPermaLink="true">https://forums.ubports.com/post/93702</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Mon, 02 Mar 2026 23:49:28 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Mon, 02 Mar 2026 23:08:19 GMT]]></title><description><![CDATA[<p dir="auto"><em>Out of curiosity, I tried to get Brave web browser to function properly in desktop mode on my Fairphone 4 channel <code>24.04/daily</code>.</em></p>
<p dir="auto"><strong>Brave</strong> browser (stable version) exists as snap as well as DEB and can be installed both ways. For comparison I installed both types to compare which one worked better on my Fairphone 4.</p>
<p dir="auto">From my testing I concluded that there is no difference in functionality. Both versions do not show the hamburger menu when clicked at the top right corner. The easiest installation was via snap, which took quite some time to complete. The DEB install was quicker and required tinkering with scaling.</p>
<h2>Brave installation via snap</h2>
<p dir="auto">Open a terminal and type:</p>
<p dir="auto"><code>sudo snap install brave</code></p>
<p dir="auto">Update all snaps with:</p>
<p dir="auto"><code>sudo snap refresh</code></p>
<p dir="auto">When installation has finished, open Brave browser through Ubuntu Touch main menu or command line: <code>brave</code></p>
<p dir="auto">To access the settings when hamburger menu is not working, type this in the <a target="_blank" rel="noopener noreferrer nofollow ugc">address field</a>: <code>brave://settings</code></p>
<p dir="auto">Search for the setting <code>exit</code> and modify a keyboard shortcut (example: Ctrl + Q) to be able to quit the application the same way as you would be able to do using the hamburger menu if it was functional.</p>
<h2>Brave browser installation in Libertine</h2>
<p dir="auto">Install <a href="https://open-store.io/app/libertine-tweak-tool.doniks" target="_blank" rel="noopener noreferrer nofollow ugc">Libertine Tweak Tool</a> from Openstore.</p>
<p dir="auto">Activate <code>lirsh</code> command with <a href="https://open-store.io/app/libertine-tweak-tool.doniks" target="_blank" rel="noopener noreferrer nofollow ugc">Libertine Tweak Tool</a>.</p>
<p dir="auto">On my Fairphone 4, the default container (look at the top of the tweak tool) is set to container name <code>focal</code>. I had to manually change <code>focal</code> to <code>noble</code>. Maybe the Libertine Tweak Tool could do this automatically as an improvement.</p>
<p dir="auto">Open a terminal window and type:</p>
<pre><code>lirsh

fakeroot

curl -fsS https://dl.brave.com/install.sh | sh

exit # jump out of fakeroot
</code></pre>
<p dir="auto">The <code>brave-browser.desktop</code> did not automatically show up in Ubuntu Touch main menu. After touching folder <code>~/.local/share/icons/hicolor</code> <strong>outside</strong> of the Libertine container, it appeared in the Ubuntu Touch main menu.</p>
<p dir="auto">Brave browser in Libertine only seem to honor the <code>Xft.dpi</code> setting in Libertine container <code>~/.Xdefaults</code>. A one-line-command which sets the scaling would look like (here I use the value 120, you may want another value):</p>
<pre><code># lirsh
xrdb -merge &lt;&lt;&lt; "Xft.dpi: 120"; GDK_BACKEND=x11 brave-browser
</code></pre>
<h2>Testing</h2>
<ul>
<li>Chrome web store extension <a href="https://chromewebstore.google.com/detail/dark-reader/eimadpbcbfnmbkopoojfekhnkhdbieeh" target="_blank" rel="noopener noreferrer nofollow ugc">Dark Reader</a> works as intended.</li>
<li>Cookie popup windows do not show.</li>
<li>Unwanted ads are blocked.</li>
<li><code>duck.ai</code> working.</li>
<li>Copy-paste (<em>actually: Ctrl+C, Ctrl+V</em>) seem to work from Brave browser to <code>emacs</code> (Libertine), <code>firefox</code> (Libertine), but not to <code>mousepad</code> (Libertine), not to <code>Morph browser (qt6)</code>. Right-click copy option does not seem to exist.</li>
</ul>
<h2>Observations</h2>
<ul>
<li>Copy-paste between different windows is glitchy. Some apps work to paste into, some don't. It seems the clipboard functionality needs an improvement to be solid.</li>
<li>Hamburger menu in top right corner does not open.</li>
<li>The <code>Quit</code> browser function has to be accessed via a custom new keyboard shortcut (<em>I created shortcut: Ctrl + Q</em>). This can be tied to a privacy cleanup to delete browser data in <code>brave://settings</code> on Brave exit. <em>Killing the app with clicking the windows handler <code>x</code> maybe does not trigger the cleanup functionality by Quit at all times.</em></li>
<li>Having all sorts of windows open with several tabs at the same time uses <strong>3.9Gi RAM memory</strong>, reports terminal command <code>free -h</code>.</li>
</ul>
]]></description><link>https://forums.ubports.com/post/93700</link><guid isPermaLink="true">https://forums.ubports.com/post/93700</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Mon, 02 Mar 2026 23:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Thu, 26 Feb 2026 11:57:30 GMT]]></title><description><![CDATA[<p dir="auto"><em>Out of curiosity, since I managed to get <strong>Thunderbird</strong> to behave properly on a Fairphone 4... maybe it would be an idea to make a similar guide for Firefox web browser.</em></p>
<h2>Step 1: Installing Firefox inside a Libertine container</h2>
<p dir="auto">For those of you newbies wondering how to get Firefox web browser working in desktop mode on Ubuntu Touch, this is one way that seems to work well. Firefox has so far crashed one time only.</p>
<p dir="auto">This markup was written in <code>nano</code> and <code>mousepad</code>. Copy-paste functionality between windows seems to be non-existent between Firefox and other windows at the time of writing. The only way to copy this markup was to <code>cat markdown-text.md</code> in a terminal and manually copy the lines from terminal with right-click copy, and paste it in this forum.</p>
<p dir="auto">I messed around with settings until I got something that would work in desktop mode for <strong>Fairphone 4</strong> running channel <code>24.04/daily</code>.</p>
<h3>Installing Firefox as DEB</h3>
<p dir="auto">Install <a href="https://open-store.io/app/libertine-tweak-tool.doniks" target="_blank" rel="noopener noreferrer nofollow ugc">Libertine Tweak Tool</a> from Openstore.</p>
<p dir="auto">Activate <code>lirsh</code> command with <a href="https://open-store.io/app/libertine-tweak-tool.doniks" target="_blank" rel="noopener noreferrer nofollow ugc">Libertine Tweak Tool</a>.</p>
<p dir="auto">Open a terminal window and type:</p>
<pre><code>lirsh                                                                                  
fakeroot                                                                               
</code></pre>
<p dir="auto">At this point it is possible to issue terminal commands:</p>
<pre><code>install -d -m 0755 /etc/apt/keyrings

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | tee /etc/apt/keyrings/packages.mozilla.org.asc &gt; /dev/null

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | tee -a /etc/apt/sources.list.d/mozilla.list &gt; /dev/null

echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | tee /etc/apt/preferences.d/mozilla

apt-get update 

# If you want to update the whole Libertine container
apt-get upgrade --fix-missing

apt-cache policy firefox

apt-get install firefox

exit # jump out of fakeroot

firefox --version

# To install a different language pack, execute:
# lirsh

apt-cache search firefox-l10n

# to get the list of all available language packages.
#
# Install the language pack of your choice like:

fakeroot

apt-get install firefox-l10n-es-es # Spanish

# or

apt-get install firefox-l10n-de # German

# or

apt-get install firefox-l10n-fr # French

exit # jump out of fakeroot

</code></pre>
<p dir="auto">You may now see Firefox in Ubuntu Touch main menu, or not. One way to trigger a main menu update is to create an update or a <code>.desktop</code> file in one of the catalogues that Ubuntu Touch is monitoring. Try these lines one at a time, to see if the launcher appears, in a fresh terminal tab:</p>
<pre><code>if [ -d /home/phablet/.local/share/icons/hicolor ]; then
  touch /home/phablet/.local/share/icons/hicolor
else
  mkdir -p /home/phablet/.local/share/icons/hicolor/scalable/apps
  wget -O /home/phablet/.local/share/icons/hicolor/index.theme https://github.com/matthewbauer/appstream-generator/raw/refs/heads/master/data/hicolor-theme-index.theme
fi
</code></pre>
<p dir="auto">A minimal <code>index.theme</code> can also be made like this:</p>
<pre><code>cat &lt;&lt;EOF &gt; /home/phablet/.local/share/icons/hicolor/index.theme
[Icon Theme]
Name=Hicolor
Comment=Ubuntu Touch fallback icon theme
Hidden=true
Directories=scalable/apps

[scalable/apps]
MinSize=1
Size=128
MaxSize=256                                                                            
Context=Applications                                                                   
Type=Scalable
EOF
</code></pre>
<p dir="auto">If Firefox still does not show up in Ubuntu Touch main menu, you can try to make a change in folder <code>/home/phablet/.local/share/applications</code>:</p>
<pre><code>cp -v /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop /home/phablet/.local/share/applications/.

sleep 3

rm -v /home/phablet/.local/share/applications/firefox.desktop
</code></pre>
<p dir="auto">Try hitting the "Super-key" (sometimes this key has four windows left of the space bar) and type <em>firef</em> which should be enough to make Firefox launcher visible.</p>
<p dir="auto">Now you can test if terminal command launches something.</p>
<pre><code># lirsh
GDK_BACKEND=x11 firefox
</code></pre>
<p dir="auto">On my Fairphone 4, the zoom factor is quite big. Let's try to lower the zoom.</p>
<p dir="auto">One way to lower the zoom is to edit Libertine container <code>noble</code> file <code>~/.Xdefaults</code> and adjust <code>Xft.dpi: 120</code> from default value <code>Xft.dpi: 197</code>.</p>
<p dir="auto">Exiting <code>lirsh</code> and re-entering <code>lirsh</code> should activate the new DPI setting.</p>
<p dir="auto">Then re-launch <code>firefox</code> from command line and see if the zoom factor is better.</p>
<pre><code># lirsh
GDK_BACKEND=x11 firefox
</code></pre>
<p dir="auto">Now the window looks a bit better with not such a large zoom factor in desktop mode.</p>
<p dir="auto">The other way is to use a scaling factor directly before launching <code>firefox</code>.</p>
<p dir="auto">Try this and see if the zoom factor is lower with standard setting <code>Xft.dpi: 197</code>.</p>
<pre><code># lirsh
GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox
</code></pre>
<p dir="auto">Once the scaling is okay for your eyes you can create a <code>firefox-launcher</code>.</p>
<pre><code># lirsh
mkdir -p ~/.local/bin
echo "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox" &gt; ~/.local/bin/firefox-launcher
chmod +x ~/.local/bin/firefox-launcher
</code></pre>
<p dir="auto">On my Fairphone 4, Libertine container <code>noble</code> folder <code>~/.local/bin</code><br />
was not in my Libertine container variable <code>$PATH</code>:</p>
<pre><code># lirsh
echo $PATH
</code></pre>
<p dir="auto">Editing Libertine container <code>noble</code> file <code>~/.bashrc</code> should do the trick. The full path is:</p>
<p dir="auto"><code>/home/phablet/.cache/libertine-container/noble/rootfs/home/phablet/.bashrc</code></p>
<p dir="auto">You can edit this file both from <strong>outside</strong> the Libertine container <code>noble</code> as well as from <strong>inside</strong> the Libertine container.</p>
<p dir="auto">Added the following lines at the end of the Libertine container <code>~/.bashrc</code>:</p>
<pre><code>if [ -d ~/.local/bin ]; then
  export PATH="$HOME/.local/bin:$PATH"
fi

if [ -d ~/bin ]; then
  export PATH="$HOME/bin:$PATH"
fi
</code></pre>
<p dir="auto">Exiting <code>lirsh</code> and re-entering <code>lirsh</code> should activate the new setting.</p>
<pre><code>exit # jump out of lirsh
lirsh
echo $PATH

firefox-launcher
</code></pre>
<p dir="auto">This command should open <code>firefox</code> inside <code>lirsh</code> with desired zoom.</p>
<h2>Step 2: Making a <strong>Firefox</strong> main menu item shortcut</h2>
<p dir="auto">Poking around with the settings, you may discover that there are actually two ways to launch <strong>Firefox</strong> once it is installed.</p>
<ul>
<li>Launching Firefox from <strong>outside</strong> the Libertine container. This would require a separate launcher put in <code>~/.local/share/applications/firefox.desktop</code>. User settings will be stored <strong>outside</strong> the Libertine container.</li>
<li>Launching from <strong>inside</strong> the Libertine container. This would require to edit the Libertine container's <code>firefox.desktop</code> file, which will sooner or later appear in Ubuntu Touch main menu. User settings will be stored <strong>inside</strong> the Libertine container.</li>
</ul>
<p dir="auto">For the purpose of illustration, I will do both approaches.</p>
<h3>2a: Making a <code>firefox.desktop</code> <strong>outside</strong> Libertine container</h3>
<p dir="auto">It is not entierly clear to me what you have to do in order to trigger a main menu update after you have installed something in a Libertine container. Debian has a command <code>update-menus</code> which Ubuntu Touch does not have. Ususally, a reboot is the easiest way to update Ubuntu Touch main menu items. However, there should in theory be another way to refresh the main menu that is at this time unknown to me.</p>
<p dir="auto">Now that this is working, let's try to create an Ubuntu Touch shortcut in the main menu. This can be done manually of course. In this example, I will piggy-back on what is already available.</p>
<p dir="auto">Open another terminal tab (without <code>lirsh</code> environment).</p>
<pre><code>mkdir -p ~/.local/share/applications

mkdir -p ~/.local/share/icons/hicolor/scalable/apps

wget -O ~/.local/share/icons/hicolor/scalable/apps/firefox.svg https://upload.wikimedia.org/wikipedia/commons/a/a0/Firefox_logo%2C_2019.svg

wget -O ~/.local/share/icons/hicolor/index.theme https://raw.githubusercontent.com/spk121/hicolor-icon-theme/refs/heads/master/index.theme 

sed -i "s|^Comment=.*$|Comment=Ubuntu Touch Icon Theme|g" ~/.local/share/icons/hicolor/index.theme

echo "Update icon caches (maybe obsolete)"

touch ~/.local/share/icons/hicolor

update-icon-caches ~/.local/share/icons/hicolor

# or

touch ~/.local/share/icons/hicolor

gtk-update-icon-cache ~/.local/share/icons/hicolor

echo
echo "We can re-use the firefox.desktop file that is in the Libertine container"

cp -v /userdata/user-data/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop ~/.local/share/applications/firefox.desktop

echo
echo "Using scaling factor GDK_DPI_SCALE=1.2"
echo "to achieve similar scaling as with"
echo "Libertine container 'noble' GDK_DPI_SCALE=0.6"

sed -i "s|^Exec=.*$|Exec=bash -c \'GDK_DPI_SCALE=1.2 GDK_BACKEND=x11 /userdata/user-data/phablet/.cache/libertine-container/noble/rootfs/usr/bin/firefox\' %u|g" ~/.local/share/applications/firefox.desktop

echo
echo "Ubuntu Touch does not seem to find the firefox icon"
echo "by itself."
echo "    Icon=firefox"
echo "Icon has to be specified exactly with path to show in main menu."
echo "    Icon=/path/to/scalable/svg"

sed -i "s|^Icon=.*$|Icon=/home/phablet/.local/share/icons/hicolor/scalable/apps/firefox.svg|g" ~/.local/share/applications/firefox.desktop

echo
echo "Trigger main menu update"

mv ~/.local/share/applications/firefox.desktop ~/.local/share/applications/tmp.desktop

mv ~/.local/share/applications/tmp.desktop ~/.local/share/applications/firefox.desktop

echo
echo "You should now see Firefox"
echo "in Ubuntu Touch main menu."
echo
echo "Done."
</code></pre>
<p dir="auto">Now there should be a visible "<em><strong>Firefox</strong></em>" launcher in Ubuntu Touch main menu.</p>
<p dir="auto">Try hitting the "Super-key" (sometimes this key has four windows left of the space bar, sometimes it can have an apple design or command key) on your external wired PS-2 keyboard (or wireless keyboard) and type <em>firef</em> which should be enough to make Firefox launcher visible.</p>
<h3>2b: Adjusting <code>firefox.desktop</code> <strong>inside</strong> Libertine container</h3>
<p dir="auto">Adjusting Libertine container <code>firefox.desktop</code> located at<br />
<code>/home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop</code><br />
could be done manually with terminal command:<br />
<code>nano ~/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop</code></p>
<p dir="auto">You may also install <code>mousepad</code> in the Libertine container to get a graphical editor. However, copy-paste does not seem to work between windows.</p>
<p dir="auto">There are four lines starting with <code>Exec=</code>:</p>
<pre><code>Exec=firefox %u
Exec=firefox --new-window %u
Exec=firefox --private-window %u
Exec=firefox --ProfileManager
</code></pre>
<p dir="auto">These four lines starting with <code>Exec=</code> need to be adjusted to something like:</p>
<pre><code>Exec=bash -c "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox %u"
Exec=bash -c "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox --new-window %u"
Exec=bash -c "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox --private-window %u"
Exec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox --ProfileManager'
</code></pre>
<p dir="auto">This could be accomplished with using terminal command <code>sed</code>:</p>
<pre><code>sed -i "s|^Exec=firefox %u$|Exec=bash -c \"GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox %u\"|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop

sed -i "s|^Exec=firefox --new-window %u$|Exec=bash -c \"GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox --new-window %u\"|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop

sed -i "s|^Exec=firefox --private-window %u$|Exec=bash -c \"GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox --private-window %u\"|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop

sed -i "s|^Exec=firefox --ProfileManager$|Exec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 firefox --ProfileManager'|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/firefox.desktop
</code></pre>
<p dir="auto">Change the scaling factor <code>GDK_DPI_SCALE</code> to suit your eyes. Note that on my Fairphone 4 on channel <code>24.04/daily</code> it seems to require a scaling factor less than 1.0 <strong>inside</strong> the Libertine container to scale things down. From outside the container, a scaling factor larger than 1.0 had to be used to scale things up.</p>
<h2>Testing</h2>
<p dir="auto">If all went well, you should now be able to set up Firefox with any extensions you prefer.</p>
<p dir="auto">Sample of extensions that seem to do what they are supposed to do to a great extent:</p>
<ul>
<li>uBlock Origin</li>
<li>NoScript</li>
<li>Privacy Badger</li>
<li>Cookie Autodelete</li>
<li>I still don't care about cookies</li>
<li>Video DownloadHelper (not possible to select other video format than default). <em>Remark: When opening a downloaded media clip with Thunar file manager, Lomiri crashed and closed all open apps.</em></li>
</ul>
<h3>Observations</h3>
<ul>
<li>The mouse pointer becomes huge when hovering Firefox. There should be a way to make the mouse pointer smaller.</li>
<li>Copy-paste does not work well. Not possible to copy and paste from Firefox to <code>mousepad</code> nor into <code>nano</code>. Clipboard looks full at the beginning and clicking on paste greys out clipboard while nothing is pasted.</li>
<li><code>https://duck.ai</code> works (does not seem to work properly in Morph browser). However, you cannot copy-paste the answers.</li>
</ul>
<p dir="auto">Having Firefox browser open with several tabs at the same time uses <strong>3.7Gi RAM memory</strong>, reports terminal command <code>free -h</code>.</p>
]]></description><link>https://forums.ubports.com/post/93595</link><guid isPermaLink="true">https://forums.ubports.com/post/93595</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Thu, 26 Feb 2026 11:57:30 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Fri, 20 Feb 2026 17:36:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mango" aria-label="Profile: mango">@<bdi>mango</bdi></a><br />
Wow !<br />
Thank you for that effort !<br />
I like your one-click-install idea ...<br />
Now, to access Proton mail via Thunderbird, just need to install Proton Mail Bridge on host Linux PC, and configure phone to access that ?<br />
or<br />
compile Proton Mail Bridge for ARM ?</p>
]]></description><link>https://forums.ubports.com/post/93412</link><guid isPermaLink="true">https://forums.ubports.com/post/93412</guid><dc:creator><![CDATA[oldbutndy]]></dc:creator><pubDate>Fri, 20 Feb 2026 17:36:01 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Fri, 13 Mar 2026 22:37:13 GMT]]></title><description><![CDATA[<p dir="auto"><em>Out of curiosity, I tried to get <strong>Thunderbird</strong> to behave properly on a Fairphone 4. Maybe it would be an idea to make a one-click-install that does all this for a newbie. openSUSE software catalogue has a one-click yaml installer script which sets everything up. Just an idea to make it user friendlier to get common software working out of the box so to say for a newbie to make it easier to adopt Ubuntu Touch.</em></p>
<h2>Step 1: Installing Thunderbird inside a Libertine container</h2>
<p dir="auto">For those of you newbies wondering how to get Thunderbird Mail client working in desktop mode on Ubuntu Touch, this is one way that seems to work well. Thunderbird has so far not crashed a single time. However the Ubuntu Terminal app and <code>nano</code> crashed several times during this test. This markup was written in <code>nano</code> and copied to this forum spot to test the interoperability between different windows in desktop mode. Copy-paste functionality between windows seems to be a bit glitchy at the time of writing.</p>
<p dir="auto">I messed around with settings until I got something that would work in desktop mode for <strong>Fairphone 4</strong> running channel <code>24.04/daily</code>.</p>
<h3>Installing Thunderbird as DEB</h3>
<p dir="auto">Install <a href="https://open-store.io/app/libertine-tweak-tool.doniks" target="_blank" rel="noopener noreferrer nofollow ugc">Libertine Tweak Tool</a> from Openstore.</p>
<p dir="auto">Activate <code>lirsh</code> command with <a href="https://open-store.io/app/libertine-tweak-tool.doniks" target="_blank" rel="noopener noreferrer nofollow ugc">Libertine Tweak Tool</a>.</p>
<p dir="auto">Open a terminal window and type:</p>
<pre><code>lirsh                                                                                  
fakeroot                                                                               
</code></pre>
<p dir="auto">We need command <code>add-apt-repository</code>  from package <code>software-properties-common</code>.</p>
<pre><code>apt-get update                                                                         
apt-get upgrade                                                                        
apt-get install software-properties-common                                             
</code></pre>
<p dir="auto">On my Fairphone 4 I was also obliged to install package <code>apt-utils</code> that for some reason did not install correctly by itself.</p>
<pre><code>apt-get install apt-utils
</code></pre>
<p dir="auto">At this point it was possible to issue terminal command:</p>
<pre><code>add-apt-repository ppa:mozillateam/ppa

cat &lt;&lt;EOF | tee /etc/apt/preferences.d/thunderbird-ppa
Package: thunderbird
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
Package: thunderbird
Pin: release o=Ubuntu
Pin-Priority: -1
EOF

apt-get update

apt-cache policy thunderbird

# apt install thunderbird
DEBIAN_FRONTEND="noninteractive" apt install thunderbird

exit # jump out of fakeroot

thunderbird --version
</code></pre>
<p dir="auto">Now you can test if terminal command <code>thunderbird</code> launches something.</p>
<p dir="auto">On my Fairphone 4, I saw a shaddow window but nothing more. I remembered reading that you have to force Xwayland in some way.</p>
<pre><code># lirsh
GDK_BACKEND=x11 thunderbird
</code></pre>
<p dir="auto">On my Fairphone 4, the zoom factor is quite big. Let's try to lower the zoom.</p>
<p dir="auto">One way to lower the zoom is to edit Libertine container <code>noble</code> file <code>~/.Xdefaults</code> and adjust <code>Xft.dpi: 120</code> from default value <code>Xft.dpi: 197</code>.</p>
<p dir="auto">Exiting <code>lirsh</code> and re-entering <code>lirsh</code> should activate the new DPI setting.</p>
<p dir="auto">Then re-launch <code>thunderbird</code> from command line and see if the zoom factor is better.</p>
<pre><code># lirsh
GDK_BACKEND=x11 thunderbird
</code></pre>
<p dir="auto">Now the window looks a bit better with not such a large zoom factor in desktop mode.</p>
<p dir="auto">The other way is to use a scaling factor directly before launching <code>thunderbird</code>.</p>
<p dir="auto">Try this and see if the zoom factor is lower with standard setting <code>Xft.dpi: 197</code>.</p>
<pre><code># lirsh
GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird
</code></pre>
<p dir="auto">Once the scaling is okay for your eyes you can create a <code>thunderbird-launcher</code>.</p>
<pre><code># lirsh
mkdir -p ~/.local/bin
echo "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird" &gt; ~/.local/bin/thunderbird-launcher
chmod +x ~/.local/bin/thunderbird-launcher
</code></pre>
<p dir="auto">On my Fairphone 4, Libertine container <code>noble</code> folder <code>~/.local/bin</code><br />
was not in my Libertine container variable <code>$PATH</code>:</p>
<pre><code># lirsh
echo $PATH
</code></pre>
<p dir="auto">Editing Libertine container <code>noble</code> file <code>.bashrc</code> should do the trick.</p>
<p dir="auto">Added the following lines at the end of <code>.bashrc</code>:</p>
<pre><code>if [ -d ~/.local/bin ]; then
  export PATH="$HOME/.local/bin:$PATH"
fi

if [ -d ~/bin ]; then
  export PATH="$HOME/bin:$PATH"
fi
</code></pre>
<p dir="auto">Exiting <code>lirsh</code> and re-entering <code>lirsh</code> should activate the new setting.</p>
<pre><code>exit # jump out of lirsh
lirsh
echo $PATH

thunderbird-launcher
</code></pre>
<p dir="auto">This command should open <code>thunderbird</code> inside <code>lirsh</code> with desired zoom.</p>
<h2>Step 2: Making a <strong>Thunderbird Mail</strong> main menu item shortcut</h2>
<p dir="auto">Poking around with the settings, you may discover that there are actually two ways to launch <strong>Thunderbird Mail</strong> once it is installed.</p>
<ul>
<li>Launching Thunderbird Mail from <strong>outside</strong> the Libertine container. This would require a separate launcher put in <code>~/.local/share/applications/thunderbird.desktop</code>. User settings will be stored <strong>outside</strong> the Libertine container.</li>
<li>Launching from <strong>inside</strong> the Libertine container. This would require to edit the Libertine container's <code>thunderbird.desktop</code> file, which will sooner or later appear in Ubuntu Touch main menu. User settings will be stored <strong>inside</strong> the Libertine container.</li>
</ul>
<p dir="auto">For the purpose of illustration, I will do both approaches.</p>
<h3>2a: Making a <code>thunderbird.desktop</code> <strong>outside</strong> Libertine container</h3>
<p dir="auto">It is not entierly clear to me what you have to do in order to trigger a main menu update after you have installed something in a Libertine container. Debian has a command <code>update-menus</code> which Ubuntu Touch does not have. Ususally, a reboot is the easiest way to update Ubuntu Touch main menu items. However, there should in theory be another way to refresh the main menu that is at this time unknown to me.</p>
<p dir="auto">Now that this is working, let's try to create an Ubuntu Touch shortcut in the main menu. This can be done manually of course. In this example, I will piggy-back on what is already available.</p>
<p dir="auto">Open another terminal tab (without <code>lirsh</code> environment).</p>
<pre><code>mkdir -p ~/.local/share/applications

mkdir -p ~/.local/share/icons/hicolor/scalable/apps

wget -O ~/.local/share/icons/hicolor/scalable/apps/thunderbird.svg https://upload.wikimedia.org/wikipedia/commons/2/2f/Thunderbird_2023_icon.svg                                                                  

wget -O ~/.local/share/icons/hicolor/index.theme https://raw.githubusercontent.com/spk121/hicolor-icon-theme/refs/heads/master/index.theme 

sed -i "s|^Comment=.*$|Comment=Ubuntu Touch Icon Theme|g" ~/.local/share/icons/hicolor/index.theme

echo "Update icon caches (maybe obsolete)"

touch ~/.local/share/icons/hicolor

update-icon-caches ~/.local/share/icons/hicolor

# or

touch ~/.local/share/icons/hicolor

gtk-update-icon-cache ~/.local/share/icons/hicolor

echo
echo "We can re-use the thunderbird.desktop file that is in the Libertine container"

cp -v /userdata/user-data/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/thunderbird.desktop ~/.local/share/applications/thunderbird.desktop

echo
echo "Using scaling factor GDK_DPI_SCALE=1.2"
echo "to achieve similar scaling as with"
echo "Libertine container 'noble' GDK_DPI_SCALE=0.6"

sed -i "s|^Exec=.*$|Exec=bash -c \'GDK_DPI_SCALE=1.2 GDK_BACKEND=x11 /userdata/user-data/phablet/.cache/libertine-container/noble/rootfs/usr/bin/thunderbird\' %u|g" ~/.local/share/applications/thunderbird.desktop

echo
echo "Ubuntu Touch does not seem to find the thunderbird icon"
echo "by itself."
echo "    Icon=thunderbird"
echo "Icon has to be specified exactly with path to show in main menu."
echo "    Icon=/path/to/scalable/svg"

sed -i "s|^Icon=.*$|Icon=/home/phablet/.local/share/icons/hicolor/scalable/apps/thunderbird.svg|g" ~/.local/share/applications/thunderbird.desktop

echo
echo "Trigger main menu update"

mv ~/.local/share/applications/thunderbird.desktop ~/.local/share/applications/tmp.desktop

mv ~/.local/share/applications/tmp.desktop ~/.local/share/applications/thunderbird.desktop

echo
echo "You should now see Thunderbird Mail"
echo "in Ubuntu Touch main menu."
echo
echo "Done."
</code></pre>
<p dir="auto">Now there should be a visible "<em><strong>Thunderbird Mail</strong></em>" launcher in Ubuntu Touch main menu.</p>
<p dir="auto">Try hitting the "Super-key" (sometimes this key has four windows left of the space bar, sometimes it can have an apple design or command key) on your external wired PS-2 keyboard (or wireless keyboard) and type <em>thund</em> which should be enough to make Thunderbird Mail laucher visible.</p>
<h3>2b: Adjusting <code>thunderbird.desktop</code> <strong>inside</strong> Libertine container</h3>
<p dir="auto">Adjusting Libertine container <code>thunderbird.desktop</code> located at<br />
<code>~/.cache/libertine-container/noble/rootfs/usr/share/applications/thunderbird.desktop</code><br />
could be done manually with terminal command:<br />
<code>nano ~/.cache/libertine-container/noble/rootfs/usr/share/applications/thunderbird.desktop</code></p>
<p dir="auto">You may also install <code>mousepad</code> in the Libertine container to get a graphical editor. However, copy-paste does not seem to work between windows.</p>
<p dir="auto">There are three lines starting with <code>Exec=</code> which needs to be adjusted to something like:</p>
<pre><code># Exec=thunderbird %u (original)
Exec=bash -c "GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird %u"

# Exec=thunderbird -compose (original)
Exec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird -compose'

# Exec=thunderbird -addressbook (original)
Exec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird -addressbook'
</code></pre>
<p dir="auto">This could be accomplished with using terminal command <code>sed</code>:</p>
<pre><code>sed -i "s|^Exec=thunderbird %u$|Exec=bash -c \"GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird %u\"|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/thunderbird.desktop

sed -i "s|^Exec=thunderbird -compose$|Exec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird -compose'|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/thunderbird.desktop

sed -i "s|^Exec=thunderbird -addressbook$|Exec=bash -c 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird -addressbook'|g" /home/phablet/.cache/libertine-container/noble/rootfs/usr/share/applications/thunderbird.desktop
</code></pre>
<p dir="auto">Change the scaling factor <code>GDK_DPI_SCALE</code> to suit your eyes. Note that on my Fairphone 4 on channel <code>24.04/daily</code> it seems to require a scaling factor less than 1.0 <strong>inside</strong> the Libertine container to scale things down. From outside the container, a scaling factor larger than 1.0 had to be used to scale things up.</p>
<p dir="auto">I am not sure about how to write the first launcher which has <code>%u</code> at the end. The %u in a .desktop file is a placeholder that allows the launcher to accept a single URL as an argument. A mailto link example is: <code>&lt;a href="mailto:someone@example.com"&gt;Send Email&lt;/a&gt;</code>. Ideally, such a link should be able to configure to open in <strong>Thunderbird Mail</strong>. Unfortunately I have not been able to discover how to configure it in Ubuntu Touch. There should be a <code>mailto</code> child in:</p>
<p dir="auto"><code>gsettings list-children org.gnome.desktop.default-applications</code></p>
<p dir="auto">but it does not exist. If it would exist, maybe a command like:</p>
<p dir="auto"><code>gsettings set org.gnome.desktop.default-applications.mailto exec 'GDK_DPI_SCALE=0.6 GDK_BACKEND=x11 thunderbird -compose'</code></p>
<p dir="auto">would make it possible to open e-mail links in <strong>Thunderbird Mail</strong>.</p>
<h2>Concluding thoughts</h2>
<p dir="auto">If all went well, you should now be able to set up any mail account and optionally create an OpenPGP encryption key to be used when sending encrypted email to somebody else whatever email provider they use, given that the recipient has a mail reader that can use your public OpenPGP key to decrypt the email message you sent them. If they also use Thunderbird Mail client, OpenPGP encryption will work in the same way on their system. Several other mail clients, such as Evolution Mail client support OpenPGP encryption in a similar way but it might require more to configure it than in Thunderbird, which is more user friendly in this particular aspect. <em>Of course, the email meta data will most probably not be encrypted. If you wish to avoid email metadata you might want to use tuta-mail or proton-mail or any other mail that never leaves the email provider. If somebody knows how to get a mail reader for tuta-mail or proton-mail to Ubuntu Touch, I am sure some users would appreciate that.</em></p>
<p dir="auto">Having Morph browser open with several tabs and Thunderbird Mail open at the same time uses <strong>3.1-5.9Gi RAM memory</strong>, reports terminal command <code>free -h</code>.</p>
]]></description><link>https://forums.ubports.com/post/93395</link><guid isPermaLink="true">https://forums.ubports.com/post/93395</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Fri, 13 Mar 2026 22:37:13 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Wed, 11 Feb 2026 15:10:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oldbutndy" aria-label="Profile: oldbutndy">@<bdi>oldbutndy</bdi></a> said in <a href="/post/93110">Ubuntu touch as PC?</a>:</p>
<blockquote>
<p dir="auto">I did find &amp; install snap for Thunderbird a couple days ago. Installs, but not open (actually, a 'fuzzy box with a text bar at top appears, but nothing in fuzzy box). Then tried series of questions on Google AI 'reasoning model' via browser. It had a series of troubleshooting commands to type in to terminal. I did not follow through yet due to sharing the same display between UT phone and main PC doing the AI thread. Summary was AI estimate of required spending approximately 10 hours on configuration, IF using UT on a phone that had WIRED external monitor, USB Keyboard, mouse, etc. AI thought MANY more hours required if using a wireless external display.<br />
I gave up on Thunderbird at that point.</p>
</blockquote>
<p dir="auto">Please don't ask any AI how to get software to work on UT. Their training data does not contain the required info, and the correct steps cannot be extrapolated from whatever they were trained on, since sometimes the correct steps are either unknown, unfeasible for an end user, or simply don't exist yet.</p>
<p dir="auto">Regarding the snaps from Mozilla (Firefox and Thunderbird, both) they are known not to work on UT as they are trying to use Wayland. They could be forced to use XWayland, but by then one might as well just install the click or the deb.</p>
]]></description><link>https://forums.ubports.com/post/93134</link><guid isPermaLink="true">https://forums.ubports.com/post/93134</guid><dc:creator><![CDATA[arubislander]]></dc:creator><pubDate>Wed, 11 Feb 2026 15:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Tue, 10 Feb 2026 22:54:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mango" aria-label="Profile: mango">@<bdi>mango</bdi></a><br />
I did find &amp; install snap for Thunderbird a couple days ago.  Installs, but not open (actually, a 'fuzzy box with a text bar at top appears, but nothing in fuzzy box).  Then tried series of questions on Google AI 'reasoning model' via browser.  It had a series of troubleshooting commands to type in to terminal.  I did not follow through yet due to sharing the same display between UT phone and main PC doing the AI thread.  Summary was AI estimate of required spending approximately 10 hours on configuration, IF using UT on a phone that had WIRED external monitor, USB Keyboard, mouse, etc. AI thought MANY more hours required if using a wireless external display.<br />
I gave up on Thunderbird at that point.</p>
<p dir="auto">Searched for snap for Linphone. found none.</p>
<p dir="auto">Found snap for Signal. Installed. No account so it shows "failed to connect to server". So, it might work.</p>
<p dir="auto">Firefox snap install process gave error: bad plugs or slots: kerberos-tickets (unknown interface "kerberos-tickets"). No icon installed on main screen.</p>
<p dir="auto">Just installed Brave browser via snap.  Installed with no errors, opens on wireless external display, and performs a web search, &amp; display correctly. (5 second test. NOT comprehensive. but it opened &amp; looked OK)</p>
]]></description><link>https://forums.ubports.com/post/93110</link><guid isPermaLink="true">https://forums.ubports.com/post/93110</guid><dc:creator><![CDATA[oldbutndy]]></dc:creator><pubDate>Tue, 10 Feb 2026 22:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Sat, 07 Feb 2026 11:18:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oldbutndy" aria-label="Profile: oldbutndy">@<bdi>oldbutndy</bdi></a> and anyone:</p>
<ul>
<li>Email, such as <strong>Thunderbird</strong>, with GPG-encryption, anyone tried that?</li>
<li><strong>Firefox</strong> with addons? Anyone tried it?</li>
<li><strong>Brave</strong> browser?</li>
<li><strong>Linphone</strong>?</li>
</ul>
]]></description><link>https://forums.ubports.com/post/93030</link><guid isPermaLink="true">https://forums.ubports.com/post/93030</guid><dc:creator><![CDATA[mango]]></dc:creator><pubDate>Sat, 07 Feb 2026 11:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Sat, 07 Feb 2026 01:05:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yumi" aria-label="Profile: Yumi">@<bdi>Yumi</bdi></a><br />
installed UT 2 days ago on 1+ Nord N10 (BE2026). [Note VoLTE worked, but NOT WiFi calling].<br />
UT mentions 'Desktop Convergence', so I tried to see if my phone could reproduce my Linux Mint LibreOffice 'desktop experience'.<br />
Easy to connect to WIRELESS external display (limited to 1080P), as long as that display runs Miracast (my LG TV's do).<br />
Then I connected Acasis multiport USB-C hub, with PD charging, a wired keyboard, wired mouse, Gigabit ethernet adapter and  USB-A Flash drive.<br />
I installed LibreOffice via snap. (direct, no libertine required).<br />
I opened a spreadsheet that had been created on main PC.<br />
not as quick as main PC, but workable.<br />
Image on TV was a bit 'wavy', moving top to bottom, as it refreshed, or something. (maybe 2.4Ghz WiFi interference also)<br />
A phone model with WIRED external display capability probably fixes the 'wavy'.<br />
I did NOT exhaustively test this (meaning the usability for lengthy spreadsheet changes).<br />
It was just to see if it would work.<br />
If you have a specific thing to try, let me know.  I might be able to give a quick test.</p>
]]></description><link>https://forums.ubports.com/post/93014</link><guid isPermaLink="true">https://forums.ubports.com/post/93014</guid><dc:creator><![CDATA[oldbutndy]]></dc:creator><pubDate>Sat, 07 Feb 2026 01:05:56 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Thu, 05 Feb 2026 08:43:23 GMT]]></title><description><![CDATA[<p dir="auto">Based on current state, Ubuntu Touch works better as a tech experiment than a daily PC replacement, mainly due to app support and desktop limitations. If you want to try anyway, Fairphone with external display support seems the least frustrating option for now.</p>
]]></description><link>https://forums.ubports.com/post/92957</link><guid isPermaLink="true">https://forums.ubports.com/post/92957</guid><dc:creator><![CDATA[rowanfields]]></dc:creator><pubDate>Thu, 05 Feb 2026 08:43:23 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Sun, 18 Jan 2026 07:13:54 GMT]]></title><description><![CDATA[<p dir="auto">this is good news regarding lomri <a href="https://linuxiac.com/rhino-linux-2025-4-brings-lomiri-packages-and-updated-kernels/" target="_blank" rel="noopener noreferrer nofollow ugc">https://linuxiac.com/rhino-linux-2025-4-brings-lomiri-packages-and-updated-kernels/</a></p>
]]></description><link>https://forums.ubports.com/post/92374</link><guid isPermaLink="true">https://forums.ubports.com/post/92374</guid><dc:creator><![CDATA[developerbayman]]></dc:creator><pubDate>Sun, 18 Jan 2026 07:13:54 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Sat, 17 Jan 2026 21:20:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yumi" aria-label="Profile: Yumi">@<bdi>Yumi</bdi></a> I understand what you mean.<br />
But actualy, i found lomiri is not ready to be used as a PC (no desktop...). And UT don't already have some basics computers apps (libre office, vlc, firefox, scribus, gimp...). But in fact, phosh or kde mobile are not realy better.<br />
i made a try with kde desktop (on postmarketOS) : more customizable, but pmOS is unstable on oneplus6.<br />
So, the quest continue ! (why not mobian + kde desktop if possible?)</p>
]]></description><link>https://forums.ubports.com/post/92369</link><guid isPermaLink="true">https://forums.ubports.com/post/92369</guid><dc:creator><![CDATA[DJac]]></dc:creator><pubDate>Sat, 17 Jan 2026 21:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to Ubuntu touch as PC? on Sat, 17 Jan 2026 04:29:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yumi" aria-label="Profile: Yumi">@<bdi>Yumi</bdi></a> It can be done but unfortunately there are still issues that would make it not a good experience. One of it is mouse scrolling. It doesn't work properly in all browser tabs in the default browser. It's also a bit too fast in native apps. It's just finicky in general which ruins the experience.</p>
<p dir="auto">Also, support for traditional desktop apps is not complete yet. They mostly run in Xwayland which isn't hardware accelerated and has a few things not working properly.</p>
<p dir="auto">But if you just want to try it and maybe one day use it when it's actually usable, Fairphone 4 and Fairphone 5 are the popular ones that support external diaplay via the type-c port.</p>
]]></description><link>https://forums.ubports.com/post/92338</link><guid isPermaLink="true">https://forums.ubports.com/post/92338</guid><dc:creator><![CDATA[kugiigi]]></dc:creator><pubDate>Sat, 17 Jan 2026 04:29:29 GMT</pubDate></item></channel></rss>