小编And*_*man的帖子

如何将目录复制到自身中?

我可以像这样复制一个目录:

~$ cp -r ./Desktop/ /tmp/
Run Code Online (Sandbox Code Playgroud)

同样,如果我只想从目录中复制文件,我可以这样做:

~$ cp -r ./Desktop/. /tmp/
Run Code Online (Sandbox Code Playgroud)

如果我想将源目录复制到目标目录(源的子目录)中,事情会变得更加棘手。即复制一个目录到它自己。例如:

~$ cp -r ./Desktop/ ./Desktop/sub/
Run Code Online (Sandbox Code Playgroud)

会抛出以下错误:cp: cannot copy a directory, './Desktop/', into its own, './Desktop/sub/'

这可以在某种程度上使用 extglob 进行导航,如下所示:

~$ cp -r ./Desktop/!(sub) ./Desktop/sub/
Run Code Online (Sandbox Code Playgroud)

但是,最后一个命令依赖于已经存在的目录

您如何将目录复制到自身中,以这样的方式执行此操作的命令同时创建子目录?

command-line directory cp

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

MS Teams 新会议窗口已损坏

我在 Ubuntu 22.04.1 LTS 上使用官方 MS Teams 客户端(Linux DEB 64 位 [1.5.00.23861])。

我遇到以下问题:我打开 Teams,转到日历图标,然后单击右上角的“新会议”按钮。出现一个弹出窗口,如下所示:在此输入图像描述

对我来说,这看起来像是不受控制地放大。但是,我无法让它正常打开。我向微软提出了一张罚单,他们给我回了电话,他们的一位“工程师”可以远程访问我的机器来“诊断”原因。他建议我从系统中清除 Teams,包括缓存和配置文件,然后重新安装。我告诉他,我已经这样做了两次,但他坚持要我们再做一次,所以我们做了……但仍然没有改变。

接下来他告诉我他会向我发送最新的安装包。他给我发了一个 Windows 二进制文件!我再次告诉他,我使用的是 Ubuntu,所以他告诉我它应该仍然可以工作!经过一番反复之后,我设法说服他 Ubuntu 不会运行 .exe 文件(至少不会直接运行)。

我已经运行了这些命令:

 rm -r ~/.config/Microsoft/
 rm -r ~/.config/'Microsoft Teams - Preview'
 rm -r ~/.config/teams/
 rm -r ~/.config/'teams (deleted)'/
 sudo apt remove --purge teams
 
Run Code Online (Sandbox Code Playgroud)

我重新安装了直接从 Microsoft 网站下载的 Debian 软件包。除了“新会议”按钮向我显示如图所示的窗口的问题之外,一切都工作得很好。我可以添加标题并按回车键,但没有任何反应。CTRL+ 和 CTRL 鼠标滚动等作用很小,我只看到放大的图标。

我已经从高处和低处寻找过。任何有关此问题的帮助将不胜感激。顺便说一句,如果我直接在 Web 浏览器中使用 Teams,一切仍然运行得很好。

microsoft-teams

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

如何在所有用户帐户中全局配置`dconf` 密钥

我想将“媒体处理”模式的“自动挂载”键设置为“假”,以供一台台式机上的所有用户使用。

我可以单独执行此操作,即一次一个用户,方法是使用gsettingswhile 登录作为特定用户:

gsettings set org.gnome.desktop.media-handling automount false

但是,要为每个单独的帐户执行此操作有些艰巨。我想以全局方式将相同的键设置为“false”,以便在所有用户帐户中全局观察所需的行为。

使用locate media-handling我找到了以下“xml”文件:

/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.xml

该文件包含以下内容:

<schemalist gettext-domain="gsettings-desktop-schemas">
  <schema id="org.gnome.desktop.media-handling" path="/org/gnome/desktop/media-handling/">
    <key name="automount" type="b">
      <default>true</default>
      <summary>Whether to automatically mount media</summary>
      <description>If set to true, then Nautilus will automatically mount media such as user-visible hard disks and removable media on start-up and media insertion.</description>
Run Code Online (Sandbox Code Playgroud)

我知道这里的文件是通用的/全局的,对这些文件的任何更改都会影响全局的所有用户。但是,将此处的值设置为 'false' 作为没有可观察到的效果。

我也找到了这个答案并创建了等效的“覆盖”文件:

/usr/share/glib-2.0/schemas$ ls | grep media-handling
org.gnome.desktop.media-handling.gschema.override.xml
org.gnome.desktop.media-handling.gschema.xml
Run Code Online (Sandbox Code Playgroud)

..内容:

[org.gnome.desktop.media-handling]
automount=”false”
Run Code Online (Sandbox Code Playgroud)

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/按照给定答案中的指示运行,但是没有观察到效果。为什么会这样,假设给定的解决方案是正确的?

如何将“自动挂载”键设置为“false”,以便配置所有用户帐户?实现这一点后,我如何防止单个用户以不同于全局规则的方式配置自己的帐户?

其次,系统如何使用文件/usr/share/glib-2.0/org.gnome.desktop.media-handling.gschema.xml,因为我的理解会让我认为它改变了所有用户帐户,因为它位于 ....share/glib-2.0.. …

gnome automount gsettings glib

5
推荐指数
1
解决办法
2691
查看次数