又来请教问题了,同时打开两个文件

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

又来请教问题了,同时打开两个文件

#1

帖子 tang.zhe » 2016-03-06 20:07

桌面上两个文件:a.jpg 和 b.mp3
现在需要同时运行它们,并且totem视频播放器最小化,图片最大化。
我以前的操作是同时选中,然后回车,不管音乐窗口,直接双击图片最大化。
感觉操作还是有些繁琐,想到了dos的批处理,有无类似的命令行做成可执行文件,让我一步到位,多谢了!
头像
kashu
帖子: 451
注册时间: 2014-02-07 17:31
系统: Xubuntu 14.04.5 64位

Re: 又来请教问题了,同时打开两个文件

#2

帖子 kashu » 2016-03-06 21:15

xdg-open可调用默认的软件来打开对应类型的文件,但它后面只能跟a file,无法同时指定多个文件
如: xdg-open ~/123.mp4

可这样来同时打开多个文件
xdg-open ~/1.mp4; xdg-open /tmp/1.txt; xdg-open 1.doc

所以,用xdg-open,并写个脚本,应该基本可以满足你的需求。

但xdg-open不能像你所说的,指定哪个最大化、哪个最小化,你可能需要另辟蹊径……
xdg-open基本没提供什么选项。


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ ... DuDYX8L6Qg
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 又来请教问题了,同时打开两个文件

#3

帖子 vickycq » 2016-03-06 22:25

kashu 写了: 但xdg-open不能像你所说的,指定哪个最大化、哪个最小化,你可能需要另辟蹊径……
如果所用的窗口管理器符合 EWMH/NetWM 标准,可用 wmctrl 实现

代码: 全选

#!/bin/bash
mpv 1.mp3
feh 1.png
wmctrl -r 图片查看器窗口标题 -b toggle,maximized_vert,maximized_horz
wmctrl -r 音乐播放器窗口标题 -b toggle,hidden
窗口标题不必写全。例如我这里文件管理器 Thunar 的默认标题为 <当前文件夹> - File Manager, 欲使其最小化:

代码: 全选

wmctrl -r Manager -b toggle,hidden
例如我这里 Ristretto 图片查看器的默认标题示例:03735_1.png - Image Viewer [3/27] , 欲使其最大化:

代码: 全选

wmctrl -r Image -b toggle,maximized_vert,maximized_horz
例如我这里 Ristretto 图片查看器的默认标题示例:03735_1.png - Image Viewer [3/27] , 欲使其全屏:

代码: 全选

wmctrl -r Image -b toggle,fullscreen
例如我这里 SMPlayer 播放器的默认标题示例:sample.mp4 - SMPlayer , 欲使其最小化:

代码: 全选

wmctrl -r SMPlayer -b toggle,hidden
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#4

帖子 tang.zhe » 2016-03-07 9:12

感谢2楼的帮忙,xdg-open命令可以同时打开两个文件,非常方便,谢谢!
感谢3楼。我才疏学浅,没有真正领悟wmctrl的用法,如下执行文件只能先打开图片,且不是最大化,关闭后音乐窗口才能打开。请帮忙!

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg
totem /home/tz/b.mp3
wmctrl -r a.jpg -b toggle,maximized_vert,maximized_horz
wmctrl -r b.mp3 -b toggle,hidden
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#5

帖子 tang.zhe » 2016-03-07 9:34

代码: 全选

eog /home/tz/a.jpg & totem /home/tz/b.mp3
发现放在一行可以同时运行,只差图片窗口最大化了。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 又来请教问题了,同时打开两个文件

#6

帖子 vickycq » 2016-03-07 12:20

tang.zhe 写了: 发现放在一行可以同时运行,只差图片窗口最大化了。
非常抱歉 楼上忘了
每一行后都加 &

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg &
totem /home/tz/b.mp3 &
wmctrl -r a.jpg -b toggle,maximized_vert,maximized_horz &
wmctrl -r b.mp3 -b toggle,hidden &
wmctrl 的 -r 参数吃的是窗口标题
看看 eog 的窗口标题是? Totem 的窗口标题是?看窗口标题中有没有 'a.jpg', 'b.mp3' 字样
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#7

帖子 tang.zhe » 2016-03-07 12:54

您太客气了,应该是我给大家添麻烦了。
可以同时运行,但窗口没有达到预期效果,如图。
附件
2 pics.png
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 又来请教问题了,同时打开两个文件

#8

帖子 vickycq » 2016-03-07 13:06

tang.zhe 写了:但窗口没有达到预期效果,如图。
视频播放器窗口标题为 “视频”,并不含有 “b.mp3” 字样,因此无法匹配
另外图片查看器与其最大化,不如全屏?

验证最小化效果:

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg &
totem /home/tz/b.mp3 &
wmctrl -r a.jpg -b toggle,maximized_vert,maximized_horz &
wmctrl -r 视频 -b toggle,hidden &
图片查看器全屏:

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg &
totem /home/tz/b.mp3 &
wmctrl -r a.jpg -b toggle,fullscreen &
wmctrl -r 视频 -b toggle,hidden &
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#9

帖子 tang.zhe » 2016-03-07 13:37

对,我要的效果就是图片全屏,音乐窗口可忽略。
运行上面的两段代码都是普通窗口,能否帮我再看看?
窗口标题字样咋看?我的系统是64位的15.10,没改过。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 又来请教问题了,同时打开两个文件

#10

帖子 vickycq » 2016-03-07 14:10

tang.zhe 写了:我的系统是64位的15.10,没改过
默认窗口管理器 compiz 应该是可以使用 wmctrl 的
tang.zhe 写了:窗口标题字样咋看?
就是标题栏中的字样。图中 “视频” 两个字位于标题栏中,而 b.mp3 不在标题栏中。也可看任务栏中窗口按钮的文字
下图按钮中的文字都是窗口标题
Screenshot_2016-03-07_14-18-24.png
tang.zhe 写了:运行上面的两段代码都是普通窗口,能否帮我再看看?。
首先确认正确安装了 wmctrl

代码: 全选

sudo apt-get install wmctrl
其次可单独测试:
用 eog 打开一个图片 a.jpg
确认窗口标题中含有 "a.jpg" 字样(标题栏中的文字 或 任务栏中窗口按钮的文字)
然后打开一个终端运行:

代码: 全选

wmctrl -r a.jpg -b toggle,fullscreen
看能否使之全屏?
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#11

帖子 tang.zhe » 2016-03-07 16:22

先打开图片,然后再运行终端

代码: 全选

wmctrl -r a.jpg -b toggle,fullscreen
图片果然全屏。
但下面这个不行,不知为何?

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg &
totem /home/tz/b.mp3 &
wmctrl -r /home/tz/a.jpg -b toggle,fullscreen
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#12

帖子 tang.zhe » 2016-03-07 16:29

eog /home/tz/a.jpg & wmctrl -r a.jpg -b toggle,fullscreen
测试了一下,直接运行只能打开图片,然后不关闭图片,再次运行上述命令,就能全屏。
看样子好像不能同时运行两个命令。
记得dos里面有个pause,不知管用不?
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 又来请教问题了,同时打开两个文件

#13

帖子 vickycq » 2016-03-07 17:05

tang.zhe 写了: 记得dos里面有个pause,不知管用不?
猜的对,确实需要延时。

代码: 全选

#!/bin/bash
eog a.jpg &
sleep 3
wmctrl -r a.jpg -b toggle,fullscreen
注意 sleep 3 后面不能加 &
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#14

帖子 tang.zhe » 2016-03-08 9:18

感谢vickycq的热心帮助!
经多次尝试,终于大功告成!

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg &
totem /home/tz/b.mp3 &
sleep 1
wmctrl -r a.jpg -b toggle,fullscreen
其中,最后一行“-r”的后面不能用路径,只能用“a.jpg”。
如果换成“-r b.mp3”也不行,可能就是标题的问题,需要改成“视频”,即:

代码: 全选

#!/bin/bash
eog /home/tz/a.jpg &
totem /home/tz/b.mp3 &
sleep 1
wmctrl -r 视频 -b toggle,fullscreen
BTW,这个问题是在做公益论坛中出现的,我见过的解决方法都是制作ppt幻灯片。但我认为还是不方便,一是ppt打开较慢且格式在ubuntu里面显示有误,二是想尝试更简洁的办法,笨兔果然不负众望。
再次感谢大家的帮助!
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 又来请教问题了,同时打开两个文件

#15

帖子 tang.zhe » 2016-04-09 10:09

代码: 全选

#!/bin/bash
totem /home/tz/Music/歌曲/ten/*.mp3 &
sleep 1
wmctrl -r 视频 -b toggle,maximized_vert,maximized_horz
问题:
最大化好用
wmctrl -r 视频 -b toggle,maximized_vert,maximized_horz
最小化无效
wmctrl -r 视频 -b toggle,hidden
:Cry
回复