小编Jac*_*ijm的帖子

如何将命令发送到特定的终端窗口?


我想编写一个脚本,用于在不同的终端中同时打开多个程序(服务器)——不管是哪一个——并将不同的命令分配给不同的终端,命令“登陆”在正确的终端内。这可能吗?
也许,像这样:

  1. 打开终端1
  2. 打开终端2 //与1同时。
  3. command1 //在终端1中执行而不打开新的终端窗口
  4. command2 //在终端2中执行而不打开新的终端窗口
  5. ...

我可以以某种方式标记终端窗口,以便在正确的终端内执行命令吗?

我还想在他们的程序运行时观察所有终端 - 我的程序有一个参数来将跟踪/调试打印到终端。所以我想看看他们之间交换了什么消息。

注意:我不太关心交换数据的安全性,因为这个脚本应该作为一个“模拟”。我已将每个服务器配置为从本地主机上的分配端口运行。

command-line bash scripts gnome-terminal

15
推荐指数
1
解决办法
1万
查看次数

在 14.04 LTS 上未检测到交换

我从 12.04 升级到 14.04。当我打开资源监视器时,我注意到没有检测到我的交换。我安装了 Gparted,打开程序并开始查看我的文件树。我注意到我的交换区被标记为unknown,旁边有一个红色的感叹号。我将其格式化为 linux-swap,然后从菜单中选择了“swapon”。我重新加载了系统监视器,看起来我的问题已经解决了。

我重新启动了我的电脑,再次打开系统监视器,我看到交换已经不在了。在Gparted中,这次分区被识别为swap,但是系统没有看到。每次系统重新启动时,我都需要`swapon。

当 VMware 告诉我我没有交换时,我第一次意识到这个问题。我以为我做到了,因为我所做的只是升级我的发行版。我的分区布局在升级过程中根本没有改变。

我决定使用我的 gparted livedisk 将相同的交换区域(您将在照片中看到)格式化为linux-swap. 在我这样做之前,Gparted lifeisk 给出了同样的错误,即无法识别。交换格式化完成后,我重新启动了计算机,发现它没有启动。这次 GRUB 有错误。我以前在发行版中从未发生过这种情况,做类似的磁盘工作。

然后我决定从 USB 和 CD 进行 14.04 的全新安装,但我仍然遇到同样的问题。我尝试(正如您将在照片中看到的)从终端 'swapon -a' 也没有成功(即使我能够从操作系统中的 Gparted 进行交换) - 我收到目录错误。

这是我的 fstab 文件:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks …
Run Code Online (Sandbox Code Playgroud)

partitioning mount swap gparted 14.04

14
推荐指数
1
解决办法
1万
查看次数

wmctrl窗口移动命令出现偏差是什么原因

关于 wmctrl

使用wmctrl(默认情况下未安装),我们可以获取有关窗口的信息、它们的 id、它们的几何形状、它们所属的 pid 等。我们还可以使用几个命令移动调整窗口大小。然而,在某些方面,它的行为似乎不合逻辑。我的问题是关于移动窗口wmctrl以下方式:

获取资讯

当我运行命令时:

wmctrl -lG
Run Code Online (Sandbox Code Playgroud)

我得到(ao)关于下图中窗口的以下信息:

0x04200085  0 746  443  468  205  jacob-System-Product-Name Niet-opgeslagen document 1 - gedit
Run Code Online (Sandbox Code Playgroud)

在第 3-5 列中,几何信息告诉我们 x/y 坐标和宽度/高度。

移动/调整窗口大小

当我将这些坐标放在wmctrl命令中以移动/调整窗口大小时,它应该什么都不做,因为坐标没有改变:

wmctrl -ir 0x04200085 -e 0,746,443,468,205
Run Code Online (Sandbox Code Playgroud)

偏差

但是,下面的图片显示窗口向下移动(准确地说是 28px)。我假设原因是wmctrl 窗口移动命令是用工作区域(屏幕减去面板高度)wmctrl -lG计算的,而命令是用总屏幕大小计算的。然后仍然无法解释 4px(面板高 24px)。

虽然偏差可以在脚本中很好地得到补偿,但我不明白原因的事实并不令人满意,所以问题是:

这种偏差的确切原因是什么?


在输出中移动具有精确坐标wmctrl -lG的窗口不应移动窗口,但它会

在此处输入图片说明

在此处输入图片说明

command-line window-manager unity wmctrl

14
推荐指数
1
解决办法
2763
查看次数

python subprocess.call() 没有按预期工作

我开始钻研这个兔子洞,目的是让自己熟悉如何在 Python 中创建安装脚本。选择 python 只是源于我对它的熟悉,而我确信在这个任务中会有比 python 更好的替代方案。

该脚本的目标是将 ROS 安装到运行该脚本的机器上,并设置 catkin 环境。可以分别在此处此处找到方向。

目前的脚本如下:

subprocess.call(["sudo", "sh", "-c", "'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" > /etc/apt/sources.list.d/ros-latest.list'"])
subprocess.call(["sudo", "apt-key", "adv", "--keyserver", "hkp://ha.pool.sks-keyserver.net:80", "--recv-key", "0xB01FA116"])
subprocess.call(["sudo", "apt-get", "update"])
subprocess.call(["sudo", "apt-get", "install", "ros-kinetic-desktop-full", "-y"])
subprocess.call(["sudo", "rosdep", "init"])
subprocess.call(["rosdep", "update"])
subprocess.call(["echo", '"source /opt/ros/kinetic/setup.bash"', ">>", "~/.bashrc", "source", "~/.bashrc"])
subprocess.call(["sudo", "apt-get", "install", "python-rosinstall", "-y"])
mkdir_p(os.path.expanduser('~') + "/catkin_ws/src")
subprocess.call(["(cd "+ os.path.expanduser('~') + "/catkin_ws/src)"])
subprocess.call(["(cd "+ os.path.expanduser('~') + "/catkin_ws && catkin_make)"])
subprocess.call(["(cd "+ os.path.expanduser('~') + "/catkin_ws …
Run Code Online (Sandbox Code Playgroud)

python command-line scripts

14
推荐指数
2
解决办法
8万
查看次数

如何确定应用程序的进程名称?

情况是这样的:

在(下一版本)Unity 快速列表编辑器上工作时,我想添加一种可靠的“重新启动”启动器图标方式。为此,我需要删除图标(编辑 gsettings)并将其替换在同一位置。到目前为止没有问题。但是,如果有问题的应用程序正在运行,用户可能会丢失数据,因为当它的图标从启动器中删除时,应用程序将退出。我需要的是找到一个应用程序的进程名,让在运行,如果应用程序正在运行的进程列表编辑器检查,并发送警告信息给用户的图标无法重新启动的可靠方法,如果该应用程序跑步。

到目前为止我所做的是让编辑器查看桌面文件,读取命令,还读取命令,从目录部分剥离,并进一步查看桌面文件命令可能引用的可能的远程脚本,查找字符串开头和 ”。/”

尽管该方法似乎适用于我测试过的所有应用程序,但我觉得必须有一种更简单的方法以“一体式”方式解决问题......

在那儿?

也欢迎提出捕捉更多特殊情况的建议!

launcher process .desktop

13
推荐指数
1
解决办法
2645
查看次数

在 ubuntu 14.04 启动时为所有用户挂载外部硬盘

嗨,我是 Ubuntu 的新手,最近安装了 14.04 LTS。我在启动时为所有用户安装外部硬盘驱动器时遇到问题。例如,启动后如果我以用户A登录,则只有用户A可以访问外部媒体,其他人无法访问这些外部媒体。有人可以帮我解决这个问题。

输出到以下命令

须藤blkid

/dev/sda1: UUID="98715d8d-bf13-48f5-882e-36270c539c94" TYPE="ext4" 
/dev/sda2: UUID="qOUDEc-qHDq-y9NL-OWCF-fO04-vnPI-8UNrtV" TYPE="LVM2_member" 
/dev/sdb1: UUID="6ulNAl-1Hky-orpE-ntL2-Brgu-Qen1-BYqCIh" TYPE="LVM2_member" 
/dev/mapper/VolGroup-lv_root: UUID="a7e84558-d5d3-43f3-8788-a483dde96fd8" TYPE="ext4" 
/dev/mapper/VolGroup-lv_home: UUID="fb65cc75-ab1a-44a4-8f98-b1767d03f15a" TYPE="ext4" 
/dev/mapper/VolGroup-lv_swap: UUID="69e3381b-a2b5-4866-81b6-bd368c9157d5" TYPE="swap" 
/dev/sdc1: LABEL="ExtHDD04" UUID="0DFFA1CB15212E12" TYPE="ntfs" 
/dev/sdd1: LABEL="ExtHDD03" UUID="485AA7713243CEFB" TYPE="ntfs" 
/dev/sde1: UUID="485ef4bd-0093-42c5-a3e5-0090e68e93c1" TYPE="ext4" 
/dev/sr1: LABEL="WD SmartWare" TYPE="udf" 
/dev/sdg1: LABEL="ExtHDD01" UUID="00148BDE148BD4D6" TYPE="ntfs" 
Run Code Online (Sandbox Code Playgroud)

须藤 fdisk -l

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders, total 488281250 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes …
Run Code Online (Sandbox Code Playgroud)

mount hard-drive external-hdd

13
推荐指数
2
解决办法
6万
查看次数

工作区秒表?

是否有可以作为工作空间相关秒表的程序?我想知道我每天在每个工作区呆了多少时间。

编辑:我正在使用 Unity。

time scripts unity productivity

13
推荐指数
1
解决办法
300
查看次数

程序关闭后如何保持 gnome 终端打开?

我有以下打开 SSH 实例的快捷方式。如何修改它以便当 SSH 关闭时,终端保持打开状态?

[Desktop Entry]
Terminal=true
Type=Application
Name[en_US]=ssh
Icon=/logo_sprite.png
Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key cle@12.210.9.17 sudo -s"'
Run Code Online (Sandbox Code Playgroud)

command-line gnome-terminal .desktop

13
推荐指数
2
解决办法
3万
查看次数

.desktop 文件中的图标路径

在我的桌面上,我有一个 .desktop 文件。如果我输入:

Icon=/home/ianbell/Pictures/myLogo.png
Run Code Online (Sandbox Code Playgroud)

.desktop 文件的图标发生变化(预期结果)。

但是,如果我输入:

Icon=~/Pictures/myLogo.png
Run Code Online (Sandbox Code Playgroud)

它不起作用。

不是~/捷径/home/$USER吗?

icons paths .desktop

13
推荐指数
2
解决办法
9708
查看次数

是否有时间跟踪窗口和应用程序使用情况的软件?

是否有软件可以记录我的活动时间并提供报告?基于焦点窗口和窗口标题。报告只会显示特定窗口所花费的时间及其标题,例如:

Application   Title                             Time
Firefox       Ask Ubuntu - Mozilla Firefox      5:58
Run Code Online (Sandbox Code Playgroud)

time scripts window focus log

13
推荐指数
1
解决办法
1910
查看次数