gnome-terminal

转:https://blog.csdn.net/zong596568821xp/article/details/78623130

[基本用法]

gnome-terminal命令用于打开一个新的终端,直接在命令行

$ gnome-terminal

就可以打开一个新的终端,有一些常用参数:

打开后自动最大化

$ gnome-terminal --maximize

打开后全屏

$ gnome-terminal --full-screen

设置标题

$ gnome-terminal --title="new title"

打开多个终端,多个tab

  1. $ gnome-terminal --window --window #打开两个

  2. $ gnome-terminal --window --tab --window --tab --tab #打开两个,第一个两个tab,第二个3个tab

设置打开的位置和大小(宽度x高度+左侧偏移量+上方偏移量)

$ gnome-terminal --geometry=80x25+10+10

[启动后自动执行命令]

有两个参数可以实现这个功能,-e和-x,这两个区别在于:

  • -e 可以出现多次,如果在所有--window前面,表示对所有window和tab起作用,如果在--window或者--tab后面,表示只针对这个tab执行,要注意-e后面只能有一个参数,也就是说如果有空格,需要用引号,具体见后例
  • -x 只能出现一次,在-x后面的所有内容,均认为是要执行的命令,所以可以出现空格,这些命令是针对所有tab都执行的

比如:

  1. $ gnome-terminal -e ls

  2. $ gnome-terminal -x ls

这两个的执行结果都一样,就是新的终端闪一下就没了,有几种办法:
一种是修改terminal的配置,在terminal点右键,选择Profiles->Profile Preferences,然后找到Title and Command,里面有一项When command exits,后面选择为Hold the terminal open,然后就可以了

第二种是把结果重定向给less,这样less执行完之前,是不会退出的

$ gnome-terminal -x ls|less

第三种是在bash里面再启用一个bash

  1. $ gnome-terminal -x bash -c "ls; exec bash"

  2. $ gnome-terminal -e 'bash -c "ls; exec bash"'

注意最后一个命令是exec bash,如果直接写bash也行,相当于开了一个子shell,这样有个缺点,就是直接按关闭按钮的话,会提示还有程序在运行,需要注意的是,这里执行的命令,在调用.bashrc之前,所有.bashrc的所有配置都无效,如果需要用到.bashrc里面的内容,有个变通的办法,在.bashrc最后加上一句

  1. --------------------.bashrc--------------------

  2. 其他内容

  3. #最后加上这句

  4. evel "$RUN_AFTER_BASHRC"

  5. -----------------------------------------------

然后在写命令的时候,修改RUN_AFTER_BASHRC这个变量,就可以实现让.bashrc调用这个命令

$ gnome-terminal -x bash -c 'export RUN_AFTER_BASHRC="ls --help"; exec bash'

或者下面的写法比较简单(注意对所有tab生效),也不会自动关闭了

$ RUN_AFTER_BASHRC="ls" gnome-terminal

[打开一个terminal并预先输好一段文字]

这个需求比较偏门,解决方法不错,就是利用expect这个工具,最后的程序如下

  1. ----------------------------myprompt-----------------------

  2. #!/usr/bin/expect

  3. #trap sigwinch and pass it to the child we spawned

  4. #this allows the gnome-terminal window to be resized

  5. trap {

  6.   set rows [stty rows]

  7.     set cols [stty columns]

  8.     stty rows $rows columns $cols < $spawn_out(slave,name)

  9. } WINCH

  10. set arg1 [lindex $argv 0]

  11. # Get a Bash shell

  12. spawn -noecho bash

  13. # Wait for a prompt

  14. expect "$ "

  15. # Type something

  16. send $arg1

  17. # Hand over control to the user

  18. interact

  19. exit

  20. ------------------------------------------------

调用方法(注意文件的路径要写全):

gnome-terminal -e "./myprompt \"my text to be posted\""

[添加一个”用vim打开“的脚本]

研究这个gnome-terminal的目的,是为了写一个脚本,实现右键选一个文件,然后可以用vim打开,最后的脚本文件如下(两种方法都写了)

  1. -------------------~/.gnome2/nautilus-scripts/OpenWithVIM----------------------

  2. #!/bin/bash

  3. gnome-terminal -x bash -c 'export RUN_AFTER_BASHRC="vim $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"; exec bash'

  4. #RUN_AFTER_BASHRC="vim $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" gnome-terminal

  5. -------------------------------------------------------------------------------

不过选中多个文件还不行,因为也没这个需要,所以暂时就这样了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值