我为基于 Fedora 30(即将 32)的“数字标牌客户端”设置了自动启动安装,现在我想在安装中添加“Gnome 屏幕共享”的启用,以便能够获得实际的视觉反馈现在屏幕上的内容。我通过 GUI 中的设置(设置 - 共享 - 屏幕共享)让它工作,我也可以通过 gesettings 设置“子设置”,例如
gsettings set org.gnome.desktop.remote-desktop.vnc view-only false
gsettings set org.gnome.desktop.remote-desktop.vnc auth-method 'password'
Run Code Online (Sandbox Code Playgroud)
但我无法找到启用“屏幕共享”本身的设置。当我通过 GUI 启用它时,我可以看到systemctl status:
systemctl status | grep gnome-remote | grep -v grep
? ? ??gnome-remote-desktop.service
? ? ? ??5572 /usr/libexec/gnome-remote-desktop-daemon
Run Code Online (Sandbox Code Playgroud)
我试图用 systemctl start 直接启动这个服务和“守护进程”,但它只会导致 Failed to start gnome-remote-desktop-daemon.service: Unit gnome-remote-desktop-daemon.service not found.
有两个非常相似的问题,但似乎已经过时,因为我没有架构“org.gnome.Vino”:
那么:如何通过命令行启用 Gnome 屏幕共享?
我已经投入了大量时间来让它发挥作用,并且可以解决除一个问题之外的所有问题。我现在知道,我必须以用户身份启动服务,所以我的整个过程是:
# Configuration
gsettings set org.gnome.desktop.remote-desktop.vnc auth-method 'password'
gsettings set org.gnome.desktop.remote-desktop.vnc …Run Code Online (Sandbox Code Playgroud) 我为基于 Fedora 30(即将发布 32)的“数字标牌客户端”设置了自动启动安装,我需要获得当前屏幕上显示的实际视觉反馈。我试图通过命令行启用 Gnome-Remote-Desktop(请参阅通过命令行启用 Gnome 屏幕共享?),但不幸的是我不能。
因此,新方法是截取屏幕截图(并通过 scp 复制)。虽然我可以通过带有 的 gnome 终端直接在客户端上截取屏幕截图gnome-screenshot,但我不知道如何从远程执行此操作。我还尝试了其他工具,如 KDE Spectacle 或 Shutter,但也没有运气。
一个想法是设置一个 cronjob 来截取屏幕截图:
$> crontab -e
1 * * * * gnome-screenshot
Run Code Online (Sandbox Code Playgroud)
但这行不通。journalctl _COMM=cron说-- No entries --
有人知道如何从 Gnome-Wayland-Fedora 桌面截取屏幕截图吗?这应该通过 crontab 工作吗?
我有一个文本文件,它通常填充多行,我想用 while 循环“打印”。此文件中的文本包含变量 - 我的问题是,这些变量的解释与包含存储在脚本中的变量的类似测试字符串不同。是否也可以从我的外部文件中解释这些变量,或者我是否必须事先解析它们等?$LINE_INSIDE和 和有$LINE_OUTSIDE什么区别?我尝试了来自其他问题的一些建议,例如${!varialbe_name}带有引号的不同结构,但到目前为止还没有运气。
#!/bin/bash
# color.sh
BLUE='\033[1;34m'
NC='\033[0m' # No Color
LINE_INSIDE="${BLUE}Blue Text${NC}"
echo -e ${LINE_INSIDE}
while read LINE_OUTSIDE; do
echo -e ${LINE_OUTSIDE}
done < text_file
Run Code Online (Sandbox Code Playgroud)
输出:
附加信息:我(确实)在我的输入文本文件中也有不应执行的 shell 命令。只应扩展变量。