HOWTO: Install Double Commander in distrobox container and auto upgrade

I have been playing around and decided to share what I have come up with how to install some GUI app inside distrobox container and make sure it autoupdates automatically at user logon.

I have decided to install Double Commander file manager. Bellow is the way I have do it:

1. Installation using distrobox container

  1. Create new container.
    distrobox-create --name double_commander --image fedora:41

  2. Enter inside container.
    distrobox enter double_commander
    Now wait few minutes for container to be created.

  3. Inside container prompt add repository and install Double Commander.

    sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Alexx2000/Fedora_41/home:Alexx2000.repo
    sudo dnf install -y doublecmd-gtk
    sudo dnf install -y adwaita-gtk2-theme
    

    Some errors are produces, but they are most probably not important,
    because there are run from inside container and do not have access
    to system itself (which is good, to have separation between system
    and user applications).

  4. From inside of container prompt execute export, so program icon is created on host.
    distrobox-export --app doublecmd

  5. Wait for few seconds (e.g. 5 sec) and press Windows key and type: double

  6. Right click on Double Commander icon and select “Pin to Dock”.

  7. Click on icon from dock and Double Commander starts.

2. Automatically upgrade distrobox container at user login

  1. Because time to time we can expect Double Commander to be updated in repository and
    we do not want to get bothered with it we can create systemd service that is run
    when user logins into Blufin.

  2. Create new file and open it with Vim (or use some other text editor)

    mkdir -p $HOME/.config/systemd/user/
    vi $HOME/.config/systemd/user/distrobox_upgrade_doublecmd.service
    

    Paste the following text:

    [Unit]
    Description=Update double_commander Distrobox Container
    After=graphical-session.target
    
    [Service]
    Type=oneshot
    Environment=XDG_RUNTIME_DIR=%t
    ExecStart=/usr/bin/distrobox enter double_commander -- sudo dnf upgrade -y
    
    [Install]
    WantedBy=graphical-session.target
    
  3. Reload systemd daemon.
    systemctl --user daemon-reload

  4. Enable systemd service so it will be run at user login.
    systemctl --user enable distrobox_upgrade_doublecmd.service

  5. Logout and login back to Blufin.

  6. Check if distrobox container was updated at login.
    journalctl --user --no-pager -e -u distrobox_upgrade_doublecmd.service

  7. If you like to manually run distrobox container, then run systemd service from terminal.
    systemctl --user start distrobox_upgrade_doublecmd.service
    and check with above journalctl command that it run successfully.

1 Like

All above is tested and it is running well in my “Blufin 42 Stable”. The only issue I have that Double Commander theme is just like from 90’s. This is maybe somehow related to some errors I have got when installing inside distrobox or there is some setting to tell container to use my Gnome theme. Any idea what to do to get better looking Double Commander? It looks like this:

EDIT 1: About theming I have posted question to upstream Double Commander forum.

EDIT 2: I have got answer on upstream forum, it is required to also install “adwaita-gtk2-theme” package. I have updated instructions above. Now I get nice looking program:

EDIT 3: Did some tweaking:

  • Remove that huge list of mounded disk: Configuration | Options | Layout | uncheck “Show drive buttons”.
  • Reduce some vertical spaces between files: Configuration | Options | Icons | Icon size | File panel | change from 32x32 to 16x16. Restart program is required.
  • Remove bold font: Configuration | Options | Fonts | Main Font change from default to Sans, Regular, 11.
  • I don’t like file extensions are separated in extra column. I like file name and extension to be as the same name: Configuration | Options | Files views | Columns | Custom columns | double click on field row Ext and column Delete and Ext is deleted. Then change in row “Name” data field “Field contents” from [DC().GETFILENAMENOEXT{}] to [DC().GETFILENAME{}]. Both setting now produces nice looking file name with extension. The downside is you can’t easily sort by extension (if you need sorting then don’t delete Ext field).
  • I don’t like Americal date format, I like ISO date format: Configuration | Options | File views | Formatting section | Date and time format change from mm/dd/yyyy hh:nn:ss to yyyy-mm-dd hh:nn:ss
  • Add directory list: Configuration | Options | Directory Hotlist | Add button | Add directory I will browse to | select directory “Documents” and Open button then Apply button and repeat for other directories you would like to have on hotlist when pressing Ctrl+D to quickly change directory. I selected “Documents”, “Music”, “Pictures”, “Videos” and “Downloads” and finally click on OK button to apply those settings.
  • Remove start-up splash screen: Configuration | Options | Miscellaneous | uncheck Show splash screen.

EDIT 4: I have found excellent beginner tutorials on Youtube. Start with: https://www.youtube.com/watch?v=I51pueQy30k and is “Chapter 1”, then follow “Chapter 2” all the way to “Chapter 10”. Very interesting quick tips how to speed up woking with file manager.
Few interesting one:

  • You can use View | Thumbnails view to display e.g. content of images
  • Focus on left pane press Ctrl+<Right> and the same folder structure is displayed in right pane.
  • Alt+<Left> multiple times, just moves to the previous “history”, the folders that were previously selected.
  • <Left> key moves one level up in directory structure (also Backspace key), <Right> moves down to subfolder.
  • Ctrl+B flatens (view) all directories and you get all files from all subdirectories dispalyed. Excellent to search all files from all subdirectories with Ctrl+F. To get back to normal view press Ctrl+B again.
  • Ctrl+F uncheck { to enable that searches strings in anywhere if file.

Some other tips, but those was most memorable (to me at least). There are other tricks worth watching.

Someone else has some interesting trick to share?

EDIT 5: I forgot to mention why I started to play with Double Commander in the first place. It is feature rich file manager, open-source and available on Linux and Windows (that I am forced to use on regular job). There are other OS-es supported MacOS etc.