小编Mou*_*inX的帖子

upowerd 消耗 100% cpu

upowerd 消耗了近 100% 的 CPU。

我目前在 Lenovo Thinkpad E520 和运行 Core i7 和 Asus Z170a 主板的台式机上都受到此问题的影响。两者都运行 Kubuntu 15.10。但是,我在几年前在几个不同的发行版(从 Fedora 到 Arch 到 Ubuntu)上发现了这个问题的报告。

我找到了这些错误报告,但没有找到任何解决方法或解决方案:

FS#40444 : [upower] upowerd 0.99.0-2 吃掉所有资源 https://bugs.archlinux.org/task/40444

错误 #861642“upowerd 使用 100% cpu 直到被杀死”:错误:upower 包:Ubuntu https://bugs.launchpad.net/ubuntu/+source/upower/+bug/861642

错误 #876279“Upowerd CPU 使用率过高”:错误:upower 包:Ubuntu https://bugs.launchpad.net/ubuntu/+source/upower/+bug/876279

cpu top power-management

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

通过 SSH 反向隧道的远程桌面替换 TeamViewer

我想通过我的 SSH(反向)隧道打开从我的笔记本电脑到桌面的远程桌面会话。那应该很简单(或者至少是可行的),对吧?到目前为止,我一直在使用 Team Viewer 登录远程桌面。我想在没有 Team Viewer 的情况下获得类似的结果。

这是我的 SSH 隧道的样子:

laptop--->nat--->middleman<--nat<--desktop
Run Code Online (Sandbox Code Playgroud)

所有机器都运行 Linux(主要是 Kubuntu 12.04 或 OpenSuse 12.3)。我无法在 nat 路由器上更改任何端口或进行任何配置更改。

我将描述我的 SSH 隧道,因为在解决作为我问题核心的 VNC/远程桌面问题时,理解这一点似乎是必要的。关于这条腿:

middleman<--nat<--desktop
Run Code Online (Sandbox Code Playgroud)

...这是它的建立方式:

autossh -M 5234 -N -f -R 1234:localhost:22 user@middleman.com
Run Code Online (Sandbox Code Playgroud)

关于这条腿:

laptop--->nat--->middleman
Run Code Online (Sandbox Code Playgroud)

我可以按如下方式连接到中间人:

me@laptop:~$ ssh -i ~/.ssh/id_rsa admin@middleman  
Run Code Online (Sandbox Code Playgroud)

但是,我实际上需要做的是直接连接到桌面,而不是中间人。为此,我在中间人上使用 netcat(“nc”)。基于,似乎需要 nc 。所以我在笔记本电脑上编辑我的 SSH 配置文件以使用 ProxyCommand 和 nc:

me@laptop:~/.ssh$ nano config
Run Code Online (Sandbox Code Playgroud)

内容是:

Host family_desktops
  ProxyCommand ssh middleman_fqdn nc localhost %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa
Run Code Online (Sandbox Code Playgroud)

哪里middleman_fqdn像“middleman.com”

然后我只需一步连接到“桌面”:

me@laptop:~$ ssh family_desktops -p …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-tunneling remote-desktop netcat

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

使用 sudo tee 和 heredoc 附加到现有文件

在 bash 中生成脚本并将其保存到需要 sudo 的位置,我们有这个方法,我喜欢:

sudo tee "$OUTFILE" > /dev/null <<'EOF'
foo
bar
EOF
Run Code Online (Sandbox Code Playgroud)

但是,我想使用这种方法附加到现有文件 $OUTFILE。上述方法覆盖现有文件 $OUTFILE。

bash files tee here-document

15
推荐指数
2
解决办法
8808
查看次数

rsync mkstemp 失败 Invalid argument (22) with davfs mount of Box.com cloud

我根据这些说明使用 davfs 安装了 Box.com 云存储。我在 /home/me/Cloud/Box 下安装了我的 Box.com 帐户

我可以通过 Dolphin 和终端访问挂载的文件系统。它有点慢,但我可以列出 (ls) 并在没有错误的情况下浏览整个目录结构。

接下来,我尝试按如下方式运行 rsync:

rsync -auvz  --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music
Run Code Online (Sandbox Code Playgroud)

我也试过:

rsync -auv  /home/me/Music/A /home/me/Cloud/Box/Music
Run Code Online (Sandbox Code Playgroud)

以及 rsync 命令的其他变体。该命令是通过 davfs 挂载将我的音乐从我的本地文件系统 (/home/me/Music/) 复制到 Box 云 (/home/me/Cloud/Box/Music)。

我总是收到很多这种形式的错误:

rsync: mkstemp <filename> failed: Invalid argument (22)
Run Code Online (Sandbox Code Playgroud)

一个具体的例子是:

rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" failed: Invalid argument (22)
Run Code Online (Sandbox Code Playgroud)

这一切都发生在 Kubuntu 12.04 LTS 64 位服务器级硬件上,具有快速/可靠的电缆调制解调器连接(12 Mb/s 上传速度)。

ubuntu rsync dropbox cloud davfs2

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

如何在 bash 脚本中添加 unix/linux 用户

这是我的测试 bash 脚本。我无法让它工作。我看到两个错误:

  1. Use of uninitialized value $answer in chop at /usr/sbin/adduser line 589.
  2. Use of uninitialized value $answer in pattern match (m//) at /usr/sbin/adduser line 590.

这是我的脚本:

#!/bin/bash
sudo adduser myuser << ENDX
password
password
First Last




Y
ENDX
exit 0
Run Code Online (Sandbox Code Playgroud)

这是输出:

me@mycomputer$ ./adduser.sh 
Adding user `myuser' ...
Adding new group `myuser' (1001) ...
Adding new user `myuser' (1001) with group `myuser' ...
Creating home directory `/home/myuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: Retype new …
Run Code Online (Sandbox Code Playgroud)

bash useradd

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

如何在 bash 脚本中为来自 apt-get 的人使用 zypper?

我有一些关于在 bash 脚本中从 apt-get 移动到 zypper 的问题。

这相当于什么?

sudo apt-get install curl --assume-yes
Run Code Online (Sandbox Code Playgroud)

(其中 curl 可以是任何包)

我找到了Zypper Cheat Sheet - openSUSE。非常好!但我很感激这里的经验之声——在我想自动同意所有提示而不跳过需要响应的事情的脚本中使用 zypper 的正确方法是什么?

由于我的经验不足,我很想使用:

sudo zypper --non-interactive --no-gpg-checks --quiet install --auto-agree-with-licenses curl
Run Code Online (Sandbox Code Playgroud)

但这真的等同于--assume-yes吗?

这些等价物呢?

sudo apt-get autoremove -y
sudo apt-get autoclean -y
Run Code Online (Sandbox Code Playgroud)

表明没有一个...

gdebi-core 有替代品吗?或者 zypper 的“强大的可满足性求解器”永远不需要 gdebi?我将 gdebi 用于需要在旧版本上安装软件包并且我已经有一个 .deb 文件(但不是所有依赖项)的情况。

bash opensuse apt package-management zypper

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

在命令行上将 WAV 音乐库转换为 FLAC 并获得最佳质量

我想通过验证/检查所有转换步骤来生成(几乎)完美的 FLAC 文件。我希望在单个命令中完成此操作,尽管可以将简短的 bash 脚本作为第二选择。

我在 Kubuntu 12.04 上安装了 flac 1.2.1。

这是我的出发点:

find ~/Music -type f -iname "*.wav" | while read fn; do flac --keep-foreign-metadata --ogg --verify "$fn"; done
Run Code Online (Sandbox Code Playgroud)

我该如何改进?

如果shntool推荐,我将如何包含它?

我将如何包括校验和比较?

如何让 FLAC 测试每个文件的完整性?

一个工作示例表示赞赏。

顺便说一句,我看了一下Perfect-flac-encode,但它对我来说太复杂了。我什至不完全理解项目描述的第一句话!安装步骤看起来也太复杂了。如果有类似的项目可能适合我的需求,请告诉我。

command-line music conversion flac wav

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

连接到 MariaDB 时的 MySQL Workbench 警告

在 Kubuntu 15.10 和 MariaDB 服务器版本:10.0.22-MariaDB-0ubuntu0.15.10.1 (Ubuntu) 上使用 MySQL Workbench 6.3 时,我收到以下警告。

这是预期的吗?

检测到不兼容/非标准的服务器版本或连接协议 (10.0.22)。

可以建立与该数据库的连接,但某些 MySQL Workbench 功能可能无法正常工作,因为该数据库与受支持的 MySQL 版本不完全兼容。

MySQL Workbench 是针对 MySQL Server 版本 5.1、5.5、5.6 和 5.7 开发和测试的

成功建立mysql连接

与此连接相关的信息:

主机:本地主机端口:0 用户:serg SSL:未启用

使用为此连接定义的参数建立了成功的 MySQL 连接。

mysql mariadb mysql-connection

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

dpkg:依赖问题阻止了 initramfs-tools 的配置

我像往常一样用这个命令开始升级我的 Kubuntu 12.04 系统:

sudo apt-get --show-upgraded dist-upgrade
Run Code Online (Sandbox Code Playgroud)

我后来回来了,但失败了:

Preconfiguring packages ...
(Reading database ... 478306 files and directories currently installed.)
Preparing to replace  ...
Unpacking replacement base-files ...
Processing triggers for man-db ...
Processing triggers for install-info ...
...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-32-lowlatency

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.8.0-32-lowlatency with 1.
dpkg: error processing initramfs-tools (--unpack):
 subprocess installed post-installation script returned error exit …
Run Code Online (Sandbox Code Playgroud)

dpkg dependencies software-installation package-management

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

如何在复制时重命名文件?

在重命名每个文件以从名称中删除随机字符串部分(即 -2b0fd460_1426b77b1ee_-7b8e)时,如何将备份目录中的所有文件(日期未更改的归档样式)复制到用户目录中?

cp来自:

/backup/path/data/Erp.2014.02.16_16.57.03-2b0fd460_1426b77b1ee_-7b8e.etf
Run Code Online (Sandbox Code Playgroud)

到:

/home/user/data/Erp.2014.02.16_16.57.03.etf
Run Code Online (Sandbox Code Playgroud)

每个文件总是以“Erp”开头。后跟日期时间戳字符串,后跟随机字符串,然后是扩展名“.etf”。我想保留所有名称元素,包括日期时间戳。我只想删除随机字符串。

随机字符串允许对同一文件进行多次备份。但是,在这种情况下,我只是运行了 fdupes 并且没有重复。所以我可以简单地恢复所有文件,删除随机字符串。

我正在寻找一个单行 bash 命令来做到这一点。

如果这不起作用,我可以分两步或更多步完成。我通常使用 KRename,但在这种情况下,我需要在 bash 中进行。(我在远程工作。)

shell bash file-copy rename

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