我使用 Yakuake 下拉终端,如果它可以以某种方式保存我的选项卡会话,我会很高兴。当我打开 6-7 个选项卡,所有已命名和所有内容时,每次重新启动时都必须重新创建一个巨大的皮塔饼。
有任何想法吗?
如何重置 Xfce 会话?
当我启动 Xfce4 时,它总是打开 Evince、Emacs 和一个终端模拟器的 2 个窗口。我记得我一周前用过一次这个配置,但现在每次登录后都会启动。如何让 Xfce4 在没有应用程序的情况下干净地启动?
我注意到从我的 X 用户会话注销(注销)会终止tmux
我发起的任何会话,甚至是我使用sudo tmux
类似命令运行的会话。我确信以前没有发生过这种情况,但最近的一些变化影响了这种行为。
即使在我结束 X 会话之后,我如何维护这些tmux
(或screen
)会话?
我没有安装桌面管理器(我不想安装)。通过终端登录后,我startx
用来启动 GUI。~/.xinitrc
我的 GUI 会话中有条目。现在我在那里有 xmonad,但有时我想运行一个 GNOME 会话,有时一个 KDE 会话。我曾经~/.xinitrc
为此目的进行编辑,但我认为应该有一种更优雅的方式(例如使用替代配置)。但是,我在man startx
或 中找不到任何内容man xinit
。
我计划有几个配置文件(每个 GUI 会话一个),然后告诉startx
我在需要时加载它们。我怎样才能做到这一点?
我想在不键入以下命令的情况下启动远程会话
ssh user@remoteserverip -t zsh
Run Code Online (Sandbox Code Playgroud)
我知道我可以更改主机名~/.ssh/config
以简单地使用以下内容:
ssh serveralias -t zsh
Run Code Online (Sandbox Code Playgroud)
但我想删除-t zsh
参数。
有没有办法在不编写函数的情况下实现这一目标?
有什么方法可以保存所有打开的程序的位置/工作区以及可能的状态,以便在重新启动时可以将所有内容恢复到之前的位置,而无需重新打开和重新定位所有内容?
我将 ProxyJump 命令用于我每天使用的许多 ssh 会话,并且还会在这些会话中切换用户很多,并且必须exit
连续键入3 或 4 次并不太有趣。
我知道newline
+ ~
+.
终止SSH会话,我还是要检查它是否终止它友好地像一个exit
会,但你怎么退出当前shell的所有会话使用一个命令或快捷方式,使得打字exit
3或4倍在我的情况下成为一次性的事情?
如您所见,例如这里,作为 systemd 一部分的 logind 可以为用户会话设置对某些设备的权限。还有一个视频展示了这种行为在实践中是如何运作的。简而言之,如果你开始,比如说,amarok,并且你播放一些歌曲,你会听到声音,直到你切换到另一个用户或 TTY,在那里你只有登录提示。那是因为活动会话变为非活动状态。
我知道您可以简单地将一个用户(或多个用户)添加到特定组,在这种情况下为“音频”,这将“解决”这个问题,但我想知道是否有其他解决方案。我真正想要的是为进程设置一些权限,以便它可以一直使用声卡,即使所有用户都锁定了他们的会话。
那可能吗?我问是因为我经常听音乐,而且我并不需要我的显示器大部分时间都在开着,所以我只是锁定了屏幕。但是当我锁定屏幕时,活动会话变为非活动状态并且 amarok 停止播放。是的,屏幕应该被锁定,而不仅仅是关闭。
编辑:
我认为我使用哪个发行版并不重要,因为如果板上有 systemd,那将是完全相同的问题。无论如何,我使用的是 debian sid,但一些软件包如 systemd、udev(和一些依赖项)来自实验分支,现在是 219-9 版本。
在 Mac 中,如果我打开了几个终端窗口并重新启动计算机或退出终端,则最后打开的窗口将再次打开,并保留其工作目录和命令历史记录。
有没有办法类似地重新打开 Ubuntu 终端窗口?
我有一个守护进程,在 bash 中实现并通过cron
和@reboot
选项运行,它显示桌面处于非活动状态。脚本如下(为了测试目的,时间很短):
#!/bin/bash
P_STATE=0
while :
do
sleep 5
if [ $P_STATE == 0 ]; then
[ `xprintidle` -ge 25000 ] && P_STATE=1 && wmctrl -k on
else
[ `xprintidle` -le 25000 ] && P_STATE=0
done
Run Code Online (Sandbox Code Playgroud)
问题:例如,如果用户仍然在登录屏幕中,xprintidle
并且wmctrl
由于桌面尚未加载而失败。为了避免这种情况,我将下一行放在脚本的开头:
while:
do
sleep 10s
[ -n `who | grep "$USER"` ] && break
done
Run Code Online (Sandbox Code Playgroud)
因此,脚本等待用户(在 crontab 文件中将 USER 变量设置为我的用户名)被记录。但是,如果用户开始,例如,终端会话(而不是像 KDE 或 GNOME 这样的图形会话),脚本也会继续。
如何确定用户是否已经处于能够“显示桌面模式”的“图形”会话中?此外,我如何确保“图形”会话已完全加载并且不在加载过程中或类似的东西?
我的解决方案:
我的(非正式)解决方案是在主循环中添加以下grep
行:
WAIT_TIME=180
while:
do
sleep $WAIT_TIME
[ …
Run Code Online (Sandbox Code Playgroud)