是否有一种通用的方法可以在无聊的 X 会话上重置显示?假设您在进入睡眠状态后打开笔记本电脑屏幕,并且显示屏是空白的,或乱七八糟的。您可以按下ctrlaltf1并查看 X 会话正在运行,但无论出于何种原因,您都看不到屏幕。
对于 borked 终端,您可以键入reset或stty sane。xrefresh将重新绘制屏幕,但这无助于解决由显卡引起的显示问题。
在 Gnome 3 中,gnome --replace会这样做,但我正在运行 XFCE4,老实说,这是一个全球性问题......是否有一个xdg-*或x-*包装器?我正在寻找可以在我使用的任何平台上设置键绑定的东西。
我正在寻找诸如持久命名管道之类的东西……我可以多次 cat 或 grep 的东西,并且始终获取正在输入管道的任何进程的当前状态。
例如,假设我创建了一个名为 的命名管道/tmp/timestamp,然后使用date它来写入:
mkfifo /tmp/timestamp
date --iso-8601=seconds > /tmp/timestamp
Run Code Online (Sandbox Code Playgroud)
此时,调用date将阻塞,等待/tmp/timestamp被读取......
cat `/tmp/timestamp`
Run Code Online (Sandbox Code Playgroud)
将 un-block date,我会看到类似2017-03-18T16:11:54-04:00写入 stdout 的内容,date并将终止。
...但是如果我每次都想要更新日期怎么cat /tmp/timestamp办?
我猜可能是
while :; date --iso-8601=seconds > /tmp/timestamp; done
Run Code Online (Sandbox Code Playgroud)
会起作用,但我想知道 a) 这种方法是否存在任何不明显的问题,以及 b) 是否有一种不需要循环的方法。
我还想设置它以便它自动启动,使 fifo 始终可用。
就我为什么要将其放入管道而言 - 有问题的信息存储在支持 Web 应用程序的数据库中。我们的大多数技术支持人员完全习惯于通过 ssh 登录服务器并对数据库运行查询,但是有一些重要的统计数据对于简单地从文件中 grep非常方便。能够访问ls包含命名管道的目录将使所有这些都可以被发现......本质上,我这样做不是因为我必须这样做,我这样做是因为我认为这是一个很好的比喻。
我正在尝试诊断家庭 LAN 上的网络不稳定情况——我的路由器和电缆调制解调器之间的连接丢失。在我的 shell 脚本中,我想通过调制解调器 ping 第一个 IP 地址,并在失败时返回 false,以便我可以在我的脚本中触发其他操作。
有没有人知道这样的野兽?