Програма якою я користувався довгий час, double commander, написана рашиком мейлру імейл якого так і висить у вікні про програму. Треба шукати альтернативу.
Знайшов Gnome Commander. Здається я вже якось встановлював її собі, але вона була настільки сира і в некористувабельному стані що я її видалив одразу. Нова версія дуже схожа на total commander який я використовував більше за 10 років тому коли був користувачем вінди.
Сайт проєкту https://gnome.pages.gitlab.gnome.org/gnome-commander/
$ sudo apt install gnome-commander
Спочатку він працював, але потім мені вибило segfault error при зміні режиму перегляду тексту у вбудованому переглядачі text->image->text. Остання версія яка доступна у репозиторіях Ubuntu це gnome-commander/noble 1.16.1-1build4 amd64.
Опис проблеми:
Thread 1 "gnome-commander" received signal SIGSEGV, Segmentation fault.
0x00007ffff748fc52 in gtk_widget_get_mapped () from /lib/x86_64-linux-gnu/libgtk-4.so.1
(gdb) bt
#0 0x00007ffff748fc5a in gtk_widget_get_mapped () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#1 0x00007ffff73db86a in ??? () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#2 0x00007ffff6e666bd in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
Наступний план був скомпілювати останню версію 2.0.1 з початкового коду!
https://gitlab.gnome.org/GNOME/gnome-commander
$ git clone https://gitlab.gnome.org/GNOME/gnome-commander.git
Не весь процесс білду описаний у INSTALL файлі в репозиторії. Спочатку потрбіно встановити ці дві основні програми.
$ sudo apt install meson rustup
Натсупний крок це збілдити залежності (dependencies). Але спочатку актувиуйте "Source code" тут
$ software-properties-gtk
Чи додайте (розкоментуйте) deb-src у файлаї налаштуваннях apt. В Ubuntu 24
змінити Types: deb deb-src
$ sudo nano /etc/apt/sources.list.d/ubuntu.sources
Якщо ви робити апгрейд дістрибутиву перевірте цей файл і розкоментуйте deb-src
$ sudo nano /etc/apt/sources.list
Нарешті можна збілдити залежності:
$ sudo apt build-dep exiv2 taglib libgsf poppler yelp
І також оновити rust crates до станної версії
$ sudo rustup update stable
$ sudo rustup default stable
Якщо бачте такі помилки
error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
Спробуй зафорсити стабільний реліз crates.
$ rustup toolchain install stable --force
Наступний крок це конфігурація проєкту gnome-commander через meson. Глянт INSTALL файл в корені репозитарія.
Simple install procedure
========================
% meson setup builddir # prepare the build
% meson compile -C builddir # build Gnome Commander
% meson install -C builddir # install Gnome Commander
This installs Gnome Commander to the default directory, usually under
'/usr/local/bin/'.
У мене були проблеми з первинним налаштуванням.
Error: Unable to find a source package for libexiv2
meson.build:101:12: ERROR: Dependency "gtk4" not found, tried pkgconfig and cmake
Run-time dependency vte-2.91-gtk4 found: NO (tried pkgconfig and cmake)
The package requires the Cargo feature called `edition2024`, but that feature is not stabilized in this version of Cargo (1.75.0).
То ж довелося встановити ще декілька пакетів програм
$ sudo apt install libgtk-4-dev libvte-2.91-gtk4-dev libwebkit2gtk-4.1-dev
І можливо знадобляться ще ці
$ sudo apt install gi-docgen libgirepository1.0-dev itstool
І ось воно нарешті скомпілювалось! Що я можу сказати, проблема з segfault в новій версії була виправлена.
Але я знайшов іще декілька проблем у вікні Internal Viewer, то ж я створив мерджи щоб пофіксити це.
https://gitlab.gnome.org/GNOME/gnome-commander/-/work_items/324
Насправді я до цього ніколи не працював з Rust. Код виглядає незвичним для мене. Але то було цікаво знайти проблему і пофіксити її!
Все ще відстуній функціонал який було б добре мати:
- ~~To navigate the files by start typing the first filename symbols~~
- ~~to open the terminal from current active folder~~
- ~~theme switcher is not working~~
- ~~home button is not working~~
- file navigation is not fast, I feel lag when returning level up from the folder
ОНОВЛЕННЯ:
Команда розробників Gnome Commander дуже відповідальна і швидко відповідає на питання! Мені було вже складно зупинитись, то ж я продовжив додавати нові іші і мерджи для них! Все щоб зробити програму зручнішою і кращою.
https://gitlab.gnome.org/GNOME/gnome-commander/-/merge_requests/520
https://gitlab.gnome.org/GNOME/gnome-commander/-/merge_requests/526
- To navigate the files by start typing the first filename symbols the settings should be updated with "General" -> "Quick search" -> "Just letter...".
- Теми виправлені!
- Home кнопка виправлена.
- Open the terminal from current active folder - Set correct term emulator in Programs settings. In my case it should be xfce4-terminal and it could be opened via toolbar icon "Open terminal"