Midnight Commander

Rating: 
5
Your rating: None Average: 5 (5 votes)

User-friendly text console file manager and visual shell

Midnight Commander is a visual shell much like a file manager, only with many more features. It is a text mode application. Midnight Commander's best features are its ability to FTP, view tar and zip files, and to poke into RPMs for specific files.

Source:
https://codeberg.org/cyclotouriste/mc-for-sailfish

FAQ

# The subshell gives a segfault

Sailfish uses busybox ash by default. To avoid problems with Midnight Commander, using bash might be better.
You can switch to bash with this command as root:
  # pkcon remove busybox-symlinks-bash

Application versions: 
AttachmentSizeDate
File mc-4.8.28-1.i486.rpm1.76 MB05/07/2022 - 13:58
File mc-debuginfo-4.8.28-1.i486.rpm1.35 MB05/07/2022 - 13:58
File mc-debugsource-4.8.28-1.i486.rpm614.46 KB05/07/2022 - 13:58
File mc-4.8.28-1.armv7hl.rpm1.7 MB05/07/2022 - 13:58
File mc-debuginfo-4.8.28-1.armv7hl.rpm1.38 MB05/07/2022 - 13:58
File mc-debugsource-4.8.28-1.armv7hl.rpm614.52 KB05/07/2022 - 13:58
File mc-4.8.28-1.aarch64.rpm1.72 MB05/07/2022 - 13:58
File mc-debuginfo-4.8.28-1.aarch64.rpm1.39 MB05/07/2022 - 13:58
File mc-debugsource-4.8.28-1.aarch64.rpm614.46 KB05/07/2022 - 13:58
File mc-python-4.8.28-1.noarch.rpm62.12 KB05/07/2022 - 13:58
File mc-4.8.29-1.aarch64.rpm1.72 MB24/02/2023 - 17:47
File mc-4.8.29-1.armv7hl.rpm1.7 MB24/02/2023 - 17:47
File mc-4.8.29-1.i486.rpm1.77 MB24/02/2023 - 17:47
File mc-python-4.8.29-1.noarch.rpm62.19 KB24/02/2023 - 17:47
File mc-python-4.8.30-1.noarch.rpm62.25 KB31/08/2023 - 13:27
File mc-4.8.30-1.aarch64.rpm1.72 MB31/08/2023 - 13:27
File mc-debuginfo-4.8.30-1.aarch64.rpm1.43 MB31/08/2023 - 13:27
File mc-debugsource-4.8.30-1.aarch64.rpm631.6 KB31/08/2023 - 13:27
File mc-4.8.30-1.armv7hl.rpm1.7 MB31/08/2023 - 13:27
File mc-debuginfo-4.8.30-1.armv7hl.rpm1.42 MB31/08/2023 - 13:27
File mc-debugsource-4.8.30-1.armv7hl.rpm631.46 KB31/08/2023 - 13:27
File mc-4.8.30-1.i486.rpm1.76 MB31/08/2023 - 13:27
File mc-debuginfo-4.8.30-1.i486.rpm1.4 MB31/08/2023 - 13:27
File mc-debugsource-4.8.30-1.i486.rpm631.57 KB31/08/2023 - 13:27
File mc-python-4.8.31-1.noarch.rpm61.98 KB13/03/2024 - 15:08
File mc-4.8.31-1.aarch64.rpm1.73 MB13/03/2024 - 15:08
File mc-debuginfo-4.8.31-1.aarch64.rpm1.44 MB13/03/2024 - 15:08
File mc-debugsource-4.8.31-1.aarch64.rpm632.07 KB13/03/2024 - 15:08
File mc-4.8.31-1.armv7hl.rpm1.71 MB13/03/2024 - 15:08
File mc-debuginfo-4.8.31-1.armv7hl.rpm1.42 MB13/03/2024 - 15:08
File mc-debugsource-4.8.31-1.armv7hl.rpm632.13 KB13/03/2024 - 15:08
File mc-4.8.31-1.i486.rpm1.77 MB13/03/2024 - 15:08
File mc-debuginfo-4.8.31-1.i486.rpm1.4 MB13/03/2024 - 15:08
File mc-debugsource-4.8.31-1.i486.rpm632.08 KB13/03/2024 - 15:08
Changelog: 

- Update to 4.8.31
- Drop p3, merged upstream.
- Change option for fish to shell.
- Disable gpm explicitly.

Comments

skyjumper's picture

Hi there,

Perhaps I am missing something, but where can I get these from?

I am missing dependancies -

libslang.so.2()(64bit) is needed by mc-1:4.8.28-1.aarch64
        libslang.so.2(SLANG2)(64bit) is needed by mc-1:4.8.28-1.aarch64
        perl(File::Basename) is needed by mc-1:4.8.28-1.aarch64
        perl(File::Temp) is needed by mc-1:4.8.28-1.aarch64
        perl(POSIX) is needed by mc-1:4.8.28-1.aarch64
        perl(bytes) is needed by mc-1:4.8.28-1.aarch64
        perl(strict) is needed by mc-1:4.8.28-1.aarch64
        python3-boto is needed by mc-python-1:4.8.28-1.noarch

Thanks

Polleke's picture

Hi, if you use the OpenRepos app, you add the repo and it should work automatically.

If you prefer doing dependencies manually, you can get it here:
https://openrepos.net/content/polleke/slang

skyjumper's picture

All sorted - thanks !

tw_bolek's picture

Fills .ash_history with tons of junk on literally every operation done in mc.  Must be started with mc -u to prevent this, otherwise normally using bash history becomes impossible.  Older versions (e.g. 4.8.13) did not have this phenomenon.

ferlanero's picture

Sadly it seems last version is not available for i486. Would it be there any possibility of building MC for using in tablet, please? MC is really useful via ssh. Thanks!

Polleke's picture

Hi, there is a mc-4.8.28-1.i486.rpm. Do you not get an update notice, or is there an error? What happens?

yomark's picture

Can confirm that this latest version fixes the busybox issue. Tnx!!

Polleke's picture

Nice, good to hear.
Have a good weekend :)

explit's picture

hello guys. can someone post the solution for this Problem:

77): GLib-CRITICAL **: 01:11:16.732: g_string_free: assertion 'string != NULL' failed
Segmentation fault (core dumped)

 

I managed to solve it somehow, about a month ago, but forgot it now.

THX

kan's picture

Try with option: -u, --nosubshell          Disables subshell support

 mc -u

That issue is a busybox related. If you know what you are doing:

pkcon remove busybox-symlinks-bash

is a solution for this issue as well.

levone1's picture

In Literm, I can scroll up and down through directories by sliding finger up and down the screen, so that's helpful. No response to touch in other terminals...

Polleke's picture

Hi Levone,
I do understand your issue, but I have no solution, sorry :)
I am not a C programmer myself and I wouldn't know if this is caused by something in MC or in the specific terminal.

I only wanted an updated package and wanted to share that as well. If other people are able to find out what the problem is and can provide a solution I would be happy to look at that.

levone1's picture

Thanks. I would be more than happy with just using Meego Terminal, but the problem with that is that it doesn't rotate, even with system display settings set to landscape. There's no qml files to edit like a typical SF app; i guess it's all in the bin file... Anyone have any ideas how to force an app into landscape without a qml file tp edit?
I found this line in source code - karin::ut * const kut = karin::ut::Instance();
if(kut -> getSetting(FULL_SCREEN))
window -> showFullScreen();
else
window -> showNormal();
switch(kut -> getSetting(ORIENTATION))
{
case 1:
window -> setPortraitOrientation();
window -> lockOrientation();
break;
case 2:
window -> setLandscapeOrientation();
window -> lockOrientation();
break;

yomark's picture

Crashes for me on x10 with Sailfish 4.
77): GLib-CRITICAL **: 01:11:16.732: g_string_free: assertion 'string != NULL' failed
Segmentation fault (core dumped)
[defaultuser@Xperia10-DualSIM ~]$

Polleke's picture

Hi, it works for me in XA2 with 4.0.1.48. Not sure what happens.
Is it possible for you to run gdb? In that case I could provide the mc-debug package so you can get a proper backtrace.
Does it give more errors that this?

I am sorry, but I am not a C programmer myself and I will probably not be able to fix it myself. But I can do my best to find a fix or report it upstream.

ferlanero's picture

It would be possible an x86 version for the SailfishOS tablet? Thank you for this great update!

Polleke's picture

Hi, there is an i586 version, does that work?
I remember that the tablet used i486 rpms, though I might be wrong.
The Platform SDK built i586 rpms by default.

ferlanero's picture

Sadly it seems not to work.. I'm afraid that tablet needs i486 version. Would it be there any possibility of building it? MC is really useful via ssh. Thanks!

Polleke's picture

Hi, not sure what "seems not to work" means :)
There is now an i486 build instead of the i586 build. Can you install it and does it work?

ferlanero's picture

Confirmed! New i486 version now works on tablet. Thanks!!

levone1's picture

Thanks - I have wanted to get around to building mc myself for a while. .. So far not working for me on Xperia XZ2c, Sailfish 4.0. Running mc command just causes screen to hang and nothing happen...

Polleke's picture

Hi, did you do a clean install or an update?

I updated from the one provided by NielDK and the location of the script had changed. This was still set in the environment and rebooting solved that.

With ssh and a terminal emulator it works fine for me on an XA2 with 4.0.1.48. In the terminal on the phone it works too, though it is quite tiny :)

Does it work with ssh?

levone1's picture

Another question - It's working great with Meeho Terminal, because for one, touch works, and for two, the app screen adjusts to the screen space, depending on the keyboard being present or not, (Meego Terminal uses Jolla keyboard). Any other terminal I open ot on, (Fingerterm, etc), works fine with keyboard buttons, but no response to touch, and if the keyboard is present, it pishes the directory scene up off the screen, instead of adjusting ... Any ideas if possible to make it work with other terminals? It's ok with Toeterm, if keyboard set to "fade"...

Screenshots - https://mega.nz/file/Zo0QXIgJ#RESbmtZqJmgKkebAKthWZTnRs_xO8ox0cxAm6OQ47LQ

 

https://mega.nz/file/w9sUjaCJ#y8YErnbIS-bEPuk7krn14kldl-g46jp_Je6e55dzAQg

Polleke's picture

Hi Levone,
I do understand your issue, but I have no solution, sorry :)
I am not a C programmer myself and I wouldn't know if this is caused by something in MC or in the specific terminal.

I only wanted an updated package and wanted to share that as well. If other people are able to find out what the problem is and can provide a solution I would be happy to look at that.

levone1's picture