whereis gnome-terminal
从返回的显示你知道是在 /usr/bin/gnome-terminal
2、 把 gnome-terminal 拷贝到 ~/.gnome2/nautilus-scripts 目录
cp /usr/bin/gnome-terminal ~/.gnome2/nautilus-scripts
3、在桌面右击鼠标,就可以=>script=>找到你刚才添加进去的东东。
4、完成。
第一种方法:安装一个包,即可在右键里面添加一个“打开终端”的菜单。
sudo apt-get install nautilus-open-terminal
第二种方法:
进入主目录的.gnome2/nautilus-scripts目录。新建一个文件,文件名任意(这个文件名会显示在右键菜单里,最好是通俗易懂的,比如“打开终端”或“open-terminal”),文件内容如下。
引用
#!/bin/bash
#
# This script opens a gnome-terminal in the directory you select.
#
# Distributed under the terms of GNU GPL version 2 or later
#
# Install in ~/.gnome2/nautilus-scripts or ~/Nautilus/scripts
# You need to be running Nautilus 1.0.3+ to use scripts.
# When a directory is selected, go there. Otherwise go to current
# directory. If more than one directory is selected, show error.
if [ -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]then
set $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
if [ $# -eq 1 ]then
destination="$1"
# Go to file's directory if it's a file
if [ ! -d "$destination" ]then
destination="`dirname "$destination"`"
fi
else
zenity --error --title="Error - Open terminal here" \
--text="You can only select one directory."
exit 1
fi
else
destination="`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed 's/^file:\/\///'`"
fi
# It's only possible to go to local directories
if [ -n "`echo "$destination" | grep '^[a-zA-Z0-9]\+:'`" ]then
zenity --error --title="Error - Open terminal here" \
--text="Only local directories can be used."
exit 1
fi
cd "$destination"
exec x-terminal-emulator
添加完后,把此文件加上可执行的权限。
1.环境:redhat8.0+非官方的kde3.1升级包,magic1.1beta(自带kde3.1)2.打开/usr/share/apps/konqueror/servicemenus这个目录,你会发现下面有不少*.desktop文件,这些文件便是我们今天文章里的主角,就是它们实现在此打开终端这些多姿多彩的右键功能的.先看konsolehere.desktop这个文件的内容: [Desktop Entry] ServiceTypes=inode/directory Actions=openTerminalHere X-KDE-AuthorizeAction=shell_access [Desktop Action openTerminalHere] Name=Open Terminal Here . . . Name[zh_CN]=在此打开终端 . . . Icon=konsole Exec=konsole --workdir %U 很明显,它的内容分成两段,其中[Desktop Entry]段 ServiceTypes=inode/directory #定义此右键菜单项出现的条件,为inode/directory(这个定义可以从konqueror菜单上的设置---配置konqueror...---文件关联里看到),也就是说如果当前对象为目录就出现这个选项 Actions=openTerminalHere #定义此右键菜单项动作的名字 X-KDE-AuthorizeAction=shell_access #不知道...... 再看[Desktop Action openTerminalHere]段,这里是定义菜单项的名字和图标和相应的动作,注意的是[Desktop Action openTerminalHere]这里后面的openTerminalHere和上面的Actions=openTerminalHere相对应 Name=xxx #定义缺省环境(英文)下菜单项的名字 Name[xxx]=xxx #定义不同语言环境下菜单项的名字,对中文locale环境,显示的就是Name[zh_CN]里的定义 Icon=konsole #定义菜单项前面的图标,为/usr/share/icons/当前所用主题/16x16/apps/konsole.png Exec=konsole --workdir %U #定义菜单项的执行动作,其中 %U代表当前目录,konsole --workdir %U的意思就是,执行konsole,并将当前鼠标所指目录设定为工作目录 上面的不复杂,应该不难理解,再看解压到这里...功能的实现 打开arkservicemenu.desktop文件,可看到如下内容: [Desktop Entry] #Encoding=UTF-8 ServiceTypes=application/x-gzip,application/x-lha,application/x-tar,......,application/x-archive,application/x-bzip2,application/x-jar Actions=Extract [Desktop Action Extract] Name=Extract Here... . . . Name[zh_CN]=解压到这里... . . Exec=ark -extract %U 也不复杂,我大概说说. Encoding=UTF-8 #表示下面的Name段所用的字符编码都是utf8(如果你使用其他编码,譬如gbk,最好将这行去掉) ServiceTypes=application/x-gzip,......,application/x-jar #同样,你可以在konqueror的设置---配置konqueror...---文件关联管理里看到类似的Types定义,也就是定义了如果鼠标所指当前对象属于上面定义的文件类型,那么就显示此项菜单 Exec=ark -extract %U#定义执行ark -extract命令,将文件解压到当前目录(%U)下
3.下面就让我们自己写一个desktop文件,来实现右键就可以将任意文件当作附件用kmail发送的功能(对于使用kmail的朋友,这个功能还是挺方便的) 在/usr/share/apps/konqueror/servicemenus下建立一个叫kmail.desktop(名字随意起,后缀为desktop就行)的文件,内容该怎样写呢?让我们考虑一下 首先,确定kmail的附件功能命令是什么.开一个终端,执行kmail -help指令,可以知道用kmail --attach 命令可以将url所指的文件当作附件发送来启动kmail. 然后,我们需要的功能是对着任意文件(不包括目录),右键就出现相应菜单,那么,这个任意文件对象怎么设置呢,通过在konqueror菜单上的设置---配置konqueror...---文件关联选项,我们可以知道,所有文件的Type定义是all/allfiles,因此,应该有ServiceTypes=all/allfiles定义 确定了这两点,编写这个kmail.desktop就不是难事了,内容如下: [Desktop Entry] ServiceTypes=all/allfiles Actions=Mail [Desktop Action Mail] Name=Mail this file to... Name[zh_CN]=将文件当作附件发送 Icon=kmail #使用/usr/share/icons/当前所用主题/16x16/apps/kmail.png作为图标 Exec=kmail --attach %u #%u代表当前鼠标选中的对象 保存一下,现在,试试右键任意konqueror里的任意文件,右键是否就有将文件当作附件发送的选项,选中它试试,够神奇吧!
4./usr/share/apps/konqueror/servicemenus目录下还有不少文件,定义包括光驱图标的右键d出加载菜单功能等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)