180

When I double-click on a script in Nautilus to run it, the script just opens in my text editor with no option to run it. Using Nautilus, how do I run executable text files and/or scripts?

jtd
  • 2,375
  • 2
  • 23
  • 31
Rob
  • 1,839
  • 2
  • 12
  • 6

12 Answers12

229
  1. Open Nautilus.

  2. Open this from the menu bar:

    Edit → Preferences

  3. Select the 'Behavior' tab.

  4. Select "Ask each time" under "Executable Text Files".

  5. Close the window.
  6. Right click the file, and select "Properties.
  7. Select the "Permissions" tab, and make sure "Allow executing file as program" is selected.

  8. Close the window.

Now you can double-click your executable text file in Nautilus to be asked whether to execute or edit your script.

enter image description here


Answer credit: Nur

christophrrb
  • 167
  • 1
  • 7
Jorge Castro
  • 71,754
  • 30
    What a weird default to have. And not even a right-click option to just run the file. Very unfriendly to users. – RomanSt Sep 11 '14 at 22:59
  • What about I want it to always run in terminal? – Derek 朕會功夫 May 05 '15 at 17:08
  • 4
    On step #2, "Open this from the menu bar"... where is the menu bar? I don't see an "Edit" menu anywhere. I see my files in the middle, several local and network locations on the left, and a menu button in the top right which just has buttons such as "new tab" and undo/redo. The top just has the back/forward buttons and the list of folders I'm in. – Aaron Franke Jun 03 '16 at 00:44
  • @AaronFranke: In ubuntu the menu bar shows when you hover the dark bar on the top of the screen. – Stefan Monov Dec 09 '16 at 14:25
  • 1
    @StefanMonov I'm using Xubuntu, not Ubuntu, and so I don't have a dark bar at the top of the screen. – Aaron Franke Dec 10 '16 at 09:23
  • I was also able to use this answer for the similar "Files" app, whatever is is called underneath, in my Fedora installation! – Pysis Jan 07 '17 at 16:50
  • @Pysis The "Files" in Fedora is exactly Nautilus. Try nautilus in terminal. – Franklin Yu Oct 10 '17 at 14:51
  • @AaronFranke Hamburger menu > preferences... then behavior tab, sorry for the 3 year+ delay – SparK Jan 14 '20 at 18:38
  • @AaronFranke: that's another oddity in GNOME: placing important menu items in the window title bar, unlike all other desktop environments. The title bar is for open/close/minimize buttons, and users just don't look there for other stuff, like search. – Dan Dascalescu May 27 '20 at 20:29
37

Follow these steps:

  • Install dconf-editor because it isn't installed by default.
  • Hit Alt+F2, type dconf-editor and hit Enter.
  • In dconfg-editor goto: orggnomenautiluspreferences

    enter image description here

  • Click on executable-text-activation and from drop down menu select:

    launch: to launch scripts as programs.

    OR

    ask: to ask what to do via a dialog.

  • Close dconf-editor. That's it!

Pablo Bianchi
  • 15,657
Basharat Sialvi
  • 24,046
  • 8
  • 62
  • 82
  • 7
    You can also open nautilus, click Files > Preferences, check behaviour tab, and select the option you prefer for Executable Text Files, open with text editor is the default. – Nur Apr 27 '13 at 14:03
  • Although this works too, dconfg-editor is the worst possible way of changing application configuration. – Benjamin May 05 '14 at 18:15
  • This answer was very helpful for me, even though using the preferences dialog would "normally" be a better answer, as I'm using a tiling window manager and the "Files" menu appears to be completely inaccessible! – Ben Apr 27 '15 at 01:17
  • 1
    In Ubuntu 22.04, the executable-text-activation key doesn't exist. – Roman Grinyov Dec 16 '22 at 12:13
15

I think this is a nuisance caused by Gnome people who decided to change that default behavior we were accustomed to.

To fix it, you can;

  1. install (if you haven't already) and start dconf Editor,
  2. go to: org > gnome > nautilus > preferences, and
  3. change the value for executable-text-activation back to ask (or even launch, if you prefer).

If you want the same Nautilus behavior as Root as well you can repeat the steps above, starting dconf Editor this time as Root.

Sadi
  • 10,996
15

in a terminal

gsettings set org.gnome.nautilus.preferences executable-text-activation ask
OmaL
  • 271
  • +1: This works in older versions of Linux, even before the dconf method became available. – Alex Mar 31 '17 at 16:17
  • 2
    This should be the accepted answer, IMHO. – tao Jan 29 '18 at 01:22
  • Is there a way to apply this same configuration for all users? (Either for all existing users, or for all users created in the future, or both?) – Wildcard Oct 12 '18 at 10:28
  • I believe yes. im not sure how to do it. maybe you can update it in /etc/profile or /etc/bash.bashrc – OmaL Oct 12 '18 at 10:48
4

Using GUI

  1. Depending on which Ubuntu version you have,

    • 14.04 or 16.04

      In Nautilus, open this from the menu bar:

      Edit → Preferences

    • 18.04+

      In Nautilus, open this from the menu bar:

      Files → Preferences

  2. Then, in the 'Behavior' tab, select "Run them" (previously "Run executable text files with they are opened").

    Alternatively, select "Ask each time" instead if you would like a dialog (example) asking you whether to edit or execute the file.

    screenshot

Using Command line

If you prefer a command:

dconf write /org/gnome/nautilus/preferences/executable-text-activation "'launch'"

Note: Both GUI and command line methods work only for Nautilus (the default graphical file manager in Ubuntu).

Originally from another answer posted by me here.

Pablo Bianchi
  • 15,657
kiri
  • 28,246
  • 16
  • 81
  • 118
2

For that I guess the best way will be to make .desktop launcher, make that launcher executable using

chmod +x blah.desktop

And after that you will be ready to run it via just clicking, and even more you can add it to launcher. To read more about how to make .desktop files look here. Main part of it is this

[Desktop Entry]
Type=Application
Terminal=false
Icon=/path/to/icon/icon.svg
Name=give-name-here
Exec=/path/to/file/executable
hingev
  • 6,596
  • Opening the associated script editor instead of launching the script is already a problem for executable .desktop files as seen in this bug, so this answer doesn't help. – Dan Dascalescu May 27 '20 at 20:05
2

You can do this for a single file by going into permissions in file properties and selecting "run this file as an executable".

enter image description here

αғsнιη
  • 35,660
1

You can use the most upvoted answer in Fedora 20 + GNOME too:

Open Nautilus, check Preferences -> Behavior -> Executable Files, put as always ask
gaboroncancio
  • 353
  • 1
  • 2
  • 10
0

In Nautilus 45.0+, try this steps

  1. Create desktop file at ~/.local/share/applications
[Desktop Entry]
.....
Exec=bash %f
Name=Script_launcher_1
NoDisplay=true
Terminal=true or false
.....
  1. Create bash script file and make it executable
#!/bin/bash 
# with or without shebang line

write commands

.....

  1. In Nautilus, right-click the script file, click "Open with", select the created desktop entry name in the list, and check "Always use for this file type".

  2. You can then run the script file by double-clicking it in Nautilus.



To target specific file extension, for example *.ext1, try this steps also.

  1. Create XML file for MIME type definition in
~/.local/share/mime/packages/my-custom-mime-types.xml 
or 
/usr/share/mime/packages/my-custom-mime-types.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
        <mime-type type="my-custom-mime-types/custom-ext1-mime-type">
                <comment>My Custom EXT1 MIME Type</comment>
                <glob pattern="*.ext1"/>
        </mime-type>
</mime-info>
  1. Update MIME database using one of following command
update-mime-database ~/.local/share/mime
sudo update-mime-database /usr/share/mime
  1. Result file is as follows
~/.local/share/mime/my-custom-mime-types/custom-ext1-mime-type.xml
or
/usr/share/mime/my-custom-mime-types/custom-ext1-mime-type.xml

Additional MIME types can be added to the my-custom-mime-types.xml file, then run the 'update-mime-database' again. For more details, see https://blog.robertelder.org/custom-mime-type-ubuntu/

kvmb11
  • 1
  • 3
0

You have to check 3 points :

sangorys
  • 369
  • 4
  • 12
0

right click on the file -> open with -> other application -> view all applications -> run software -> select

from now on shell scripts will be run on double click.

-1
  1. Open Nautilus. (File Browser)

    1. In Ubuntu 17.04, now we can cummulative bar so Preferences in available in Files.

    2. Open this from the menu bar:

  2. Files → Preferences

  3. Select 'Behavior' tab

  4. Select "Ask what to do" under "Executable Text Files".

    preferences

  5. Close it.

muru
  • 197,895
  • 55
  • 485
  • 740