Stupid Easy Way to Transfer Small Files to or from Ubuntu 22.04

There are quite a few ways to transfer files between different machines. For Ubuntu and most other Linux, here’s an easy way for choice.

Usually, I use a USB cable or a messenger app for transferring photo images between my personal PC and mobile devices.

However, my USB cable is always NOT near at hand and I hate to scan QR code again and again on PC for logging 3rd app. In this case, creating a temporary http file server with Python is an easy and good choice.

Upside and downside

Python is pre-installed in most Linux Distros. So this is an universal method for Linux. It also works in Windows and macOS with Python programming language installed.

As a simply http server, any devices with a web browser can download (or upload) files from/to the server side either over local network or internet.

However, http is NOT designed for transferring files. It’s OK to handle small files (e.g., photo images and short videos less than a few hundred MB). But for large files with a few GB or more file size, it may not work! As well, it’s NOT secure for accessing important files outside from local network.

Single command to create a Python http server:

For those who are new to Linux, user may first open file manager, navigate to the folder that contains the files to share with other device, right-click on blank area and select “Open in Terminal”.

It will open a terminal window and automatically navigate to that folder as working directory.

Or, you can also open terminal from start menu and run cd command to navigate directory. For example, run the command below to navigate to user’s Pictures folder:

cd ~/Pictures

Then, run the single command to start a http file server (For some Linux, replace python3 with python in command):

python3 -m http.server

By default, it listens to port 8000. If the port is already in use, use python3 -m http.server 9090 to set another port number (change number 9090 as you want).

After that, visit http://ip-address:8000 (change number 8000 if you set another port) in any device via a web browser. You can then open and/or right-click save as to download any file from that folder.

Create python http server with upload support

1. If you want to send files from any device to Ubuntu Linux, open terminal and run command:

python3 -m pip install --user uploadserver

Install pip first via sudo apt install python3-pip if the command above does not work. This command will install a Python module uploadserver.

2. Then open or navigate to your desired folder in terminal window, and run command to create simple http file server with both download and upload support:

python3 -m uploadserver

Also specify port number if you want, for example, python3 -m uploadserver 9990

3. Finally, visit http://ip-address:8000 in any device via web browser can access and download files. Or, go to http://ip-address:8000/upload for uploading files.

For security reason, you may add a token authentication so client machines need to verify before being able to upload a file. To do so, run the command below instead in Ubuntu Linux:

python3 -m uploadserver -t password_here

Stupid Simple App to create Light & Dark Wallpapers in GNOME

Got photo images in both light and dark style? There’s a super simple application to set them as dynamic wallpapers in GNOME 42+ desktop.

As you may know, GNOME 42+ support light and dark wallpapers that change automatically depends on system color scheme. Ubuntu 22.04 does not support the feature, but in upcoming Ubuntu 22.10 you may add your own ones into wallpaper selection dialog:

It’s easy to group your light and dark photo images as a single wallpaper selection. Just create a XML file under “.local/share/gnome-background-properties” (create folder if not exist), and write following rules:

<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>TYPE_NAME_HERE</name>
    <filename>/PATH/TO/PICTURE_LIGHT</filename>
    <filename-dark>/PATH/TO/PICTURE_DARK</filename-dark>
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#3465a4</pcolor>
    <scolor>#000000</scolor>
  </wallpaper>
</wallpapers>

It will then be available in the “Appearance” settings pages (Ubuntu 22.10 will merge ‘Background’ into ‘Appearance’).

To make life easier, a stupid simple application called “Dynamic Wallpaper” is created to do the job. With it, you may just type a name, select the 2 photo images and click “Create” button.

As mentioned above, it automatically creates a XML file with the name you typed, and saves to “.local/share/gnome-background-properties” directory. It also makes a copy of the photo images into “.local/share/backgrounds“, and refers to them in the XML file.

When done, you may go to “Appearance” in GNOME Control Center (aka “Settings” utility) to select that wallpapers.

How to Install the “Dynamic Wallpaper” app

The tool is available to install as Flatpak package, that works in Ubuntu 22.10+, Fedora 36+, Arch and Manjaro Linux with GNOME Desktop.

1. First, search for and open terminal from ‘Activities’ overview (or press Ctrl+Alt+T on Ubuntu). When it opens, run command to install Flatpak daemon:

sudo apt install flatpak

2. Next, run the command below to install the tool:

flatpak install https://dl.flathub.org/repo/appstream/me.dusansimic.DynamicWallpaper.flatpakref

If you’re first time installing a Flatpak package, there will be also hundred MB run-time libraries to install.

Finally, click the top-left corner ‘Activities’, then search for and open the application:

Uninstall:

To remove the tool, open terminal and run command:

flatpak uninstall --delete-data me.dusansimic.DynamicWallpaper

And clear useless libraries via flatpak uninstall --unused.

Raider – Stupid Simple App to Shred Files in Linux Desktop

Looking for a file shredder app for Linux? Raider is the one with a stupid simple user interface.

There are already a few good ways to securely delete files in Ubuntu Linux, such as BleachBit and Nautilus wipe extension. But for a large list of files or those do shred files frequently, this app could be more efficient.

It’s Raider, also known as File Shredder, a free open-source GTK4 application. With it, you can just drag and drop files into app window, then shred as many files as you want via single mouse click.

File Shredder with Drag and Drop support

The default remove method is ‘wipesync‘ which also sync each obfuscated byte to disk. Though, you may set it to ‘wipe‘ that first obfuscate bytes in the name, or ‘unlink‘ to delete file name from the filesystem.

It by default overwrites file with random data, which however is a clue that the file has been shredded. User can choose to overwrite with zeros instead to hide shredding.

And there are options to specify how many times to shred file over, number of bytes to shred, and whether to override the file permissions.

How to Install File Shredder

The app is available to install via the universal Flatpak package, that works in most Linux.

1. For Ubuntu users, first press “Ctrl+Alt+T” on keyboard to open terminal. Then, make sure the daemon package is installed by running command:

sudo apt install flatpak

2. Next, install the tool via command:

flatpak install https://dl.flathub.org/repo/appstream/com.github.ADBeveridge.Raider.flatpakref

Once installed, launch it by either searching from ‘Activities’ overview, or using the command below:

flatpak run com.github.ADBeveridge.Raider

How to Remove File Shredder:

To remove the software, simply run command in a terminal window:

flatpak uninstall --delete-data com.github.ADBeveridge.Raider

And clear unused libraries via flatpak uninstall --unused.

unlockR – Stupid Simple App to Remove PDF Password in Linux & Windows

For those want to unlock / decrypt PDF files, there’s now a stupid simple graphical tool to do the job in Linux.

It’s easy to encrypt you PDF files in Ubuntu Linux since the built-in LibreOffice office suite has the option on ‘Export as PDF’ dialog. However, there seems no easy way to remove password for PDF file, other than using qpdf command:

qpdf --decrypt --password=<PASSWORD> input.pdf output.pdf

unlockR is a new GTK4 application that use Libadwaita to provide a modern simple user interface to decrypt your PDF files.

It’s so simple that you just need to click ‘Open a File‘ to select your PDF, then type the password, and finally hit ‘Decrypt’. It doesn’t change the original file, but generates a new PDF without password protect.

As the picture shows, it has both light and dark mode that switches automatically according your system color scheme.

NOTE: This app is NOT about to crack password on a PDF file. You need the password to be able to decrypt it.

How to Install unlockR

It is a free open-software software works on both Linux and Windows. For Windows package, just grab the zip from github releases page:

For Linux, it offers the binary package via universal Flatpak. Ubuntu user need to first press Ctrl+Alt+T on keyboard to open terminal, and run command to install the Flatpak daemon:

sudo apt install flatpak

Next, install the app package via command:

flatpak install https://dl.flathub.org/repo/appstream/com.github.jkotra.unlockr.flatpakref

Like normal applications, search for and open it from ‘Activities’ overview (or start menu) after installation.

Uninstall:

To remove the Flatpak package, open terminal and run command:

flatpak uninstall --delete-data com.github.jkotra.unlockr

You may also clear useless runtime libraries via flatpak uninstall --unused.