Надіслав: Admin , дата:

Програма якою я користувався довгий час, 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"
Теґи