如何在Lubuntu 16.04 LTS中指定lxterminal窗口位置?
解决Lubuntu 16.04中lxterminal无法通过
--geometry指定窗口位置的问题 我之前在Lubuntu 16.04使用lxterminal时也碰到过一模一样的问题!确实,lxterminal对标准的--geometry参数支持不完善,位置部分基本不起作用,重复执行命令时窗口位置还会因为窗口管理器的默认规则乱跑。下面分享几个亲测有效的解决办法:
方法1:用wmctrl命令动态调整窗口位置和大小
wmctrl是一款轻量的窗口控制工具,可以在终端启动后手动调整它的位置和大小。
首先安装wmctrl(如果还没装的话):
sudo apt-get install wmctrl
然后用下面的命令启动终端并调整位置:
# 后台启动lxterminal lxterminal & # 短暂等待终端窗口加载完成 sleep 0.5 # 调整窗口位置为(100,100),大小为80列×30行 wmctrl -r "LXTerminal" -e 0,100,100,80,30
参数解释:
-r "LXTerminal":指定要操作的窗口名称(lxterminal的默认窗口标题就是LXTerminal)-e 0,100,100,80,30:格式为g,x,y,w,h,其中g=0表示使用绝对坐标,x,y是窗口左上角坐标,w,h是窗口的宽(列数)和高(行数)
方法2:修改lxterminal的配置文件永久生效
如果不想每次都敲命令,可以直接修改lxterminal的配置文件,让它每次启动都使用指定的位置和大小。
打开配置文件:
nano ~/.config/lxterminal/lxterminal.conf
在[general]小节下添加或修改geometry参数:
[general] geometry=80x30+100+100
保存退出后,关闭所有已打开的lxterminal窗口,再重新启动终端,就能看到窗口按照指定的位置和大小打开了。
方法3:用xdotool工具控制窗口
xdotool是另一个强大的窗口自动化工具,用法和wmctrl类似:
先安装xdotool:
sudo apt-get install xdotool
然后执行命令:
lxterminal & sleep 0.5 # 找到lxterminal窗口并移动到(100,100),设置大小为80列×30行 xdotool search --name "LXTerminal" windowmove 100 100 windowsize 80 30
补充说明为什么--geometry参数无效
lxterminal的底层实现没有完整处理--geometry参数的位置部分,它更倾向于读取配置文件中的设置,或者依赖窗口管理器的布局规则,所以直接在命令行传入--geometry只会生效大小部分,位置部分会被忽略,甚至重复执行时窗口位置会因为窗口管理器的自动排列而变化。
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

