Salve esse arquivo como 'Marcar como executável', torne-se executável e solte-o em ~/.gnome2/nautilus-scripts
Ela será mostrada no menu do botão direito, sob o submenu Scripts
Você pode querer remover o gksudo
de lá, se estiver planejando marcar como arquivos executáveis somente (em seu diretório pessoal), caso contrário, toda vez que executar o script através do menu do botão direito, pedirá sua senha ...
MAS o script que você tem lá não vai funcionar para arquivos que contenham espaços para o nome do arquivo. Para que isso funcione, você precisa alterar o script para o seguinte:
#!/bin/bash
IFS_BAK=$IFS
IFS="
"
for line in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
if [[ "$line" = "" || "$line" = " " ]]; then
exit
else
chmod +x "$line"
fi
done
IFS=$IFS_BAK
IFS_BAK=
TAMBÉM , você pode ter sua própria entrada para o item "Marcar como executável". Mas, para habilitar isso, você precisará instalar o pacote python-nautilus:
sudo apt-get install python-nautilus
Em seguida, salve este arquivo como mark_as_executable.py
em ~/.local/share/nautilus-python/extensions/
:
#!/usr/bin/env python
# -*- coding: utf8 -*-
from gi.repository import Nautilus, GObject, Gio
from os import system
import urllib
class BackgroundImageExtension(GObject.GObject, Nautilus.MenuProvider):
def __init__(self):
print 'Mark as executable extensions is being initialized'
def menu_activate_cb(self, menu, file):
if file.is_gone():
return
system("chmod +x '"+urllib.unquote(file.get_uri()[7:])+"' &")
def get_file_items(self, window, files):
if len(files) != 1:
return
file = files[0]
if file.get_uri_scheme() != 'file':
return
item = Nautilus.MenuItem(name='Nautilus::set_executable_bit', label='Mark as executable', tip='Add the executable bit to the selected file')
item.connect('activate', self.menu_activate_cb, file)
return item,
O exemplo acima também funcionará apenas para arquivos individuais, se você quiser adicionar suporte a vários arquivos, você terá que colar isso dentro do script python, embora:
#!/usr/bin/env python
# -*- coding: utf8 -*-
from gi.repository import Nautilus, GObject, Gio
from os import system
import urllib
class BackgroundImageExtension(GObject.GObject, Nautilus.MenuProvider):
def __init__(self):
print 'Mark as executable extensions is being initialized'
def menu_activate_cb(self, menu, file):
if file.is_gone():
return
system("chmod +x '"+urllib.unquote(file.get_uri()[7:])+"' &")
def get_file_items(self, window, files):
item = Nautilus.MenuItem(name='Nautilus::set_executable_bit', label='Mark as executable', tip='Add the executable bit to the selected file')
for yourfile in files:
if yourfile.get_uri_scheme() != 'file':
return
item.connect('activate', self.menu_activate_cb, yourfile)
return item,
Para poder usar a funcionalidade, você precisará reiniciar o nautilus também:
nautilus -q
e, em seguida, abra uma janela do nautilus.