我不知道如何找到定义了 bash 函数的文件(__git_ps1
在我的例子中)。
我尝试了declare
, type
, which
,但没有告诉我源文件。我在某处读到declare
可以打印文件名和行号的地方,但没有解释如何。在help
对页面declare
不说,要么。
我怎样才能得到这些信息?
这个问题类似于Debian Linux not updates package,但在我的情况下,较新的包不是来自backports
:
§ apt list --upgradable
Listing... Done
firefox-esr-l10n-en-gb/stable 60.2.0esr-1~deb9u2 all [upgradable from: 52.9.0esr-1~deb9u1]
N: There is 1 additional version. Please use the '-a' switch to see it
§ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
§ apt policy firefox-esr-l10n-en-gb
firefox-esr-l10n-en-gb:
Installed: 52.9.0esr-1~deb9u1
Candidate: 60.2.0esr-1~deb9u2
Version table:
60.2.0esr-1~deb9u2 500
500 http://security.debian.org …
Run Code Online (Sandbox Code Playgroud) 使用 Flatpak 安装的应用程序将保留用户数据和配置~/.var/app/
(请参阅Wiki和文档)。
我希望使用 Flatpak 安装的应用程序能够重用相同应用程序的系统版本中留下的配置和数据。也就是说,我希望他们将用户数据保存在~/.local/share
, ~/.config
, ~/.cache
, 而不是下面~/.var/app
。
起初,我希望配置环境变量、、XDG_CONFIG_HOME
就足够了,或者用选项启动应用程序就足够了:XDG_DATA_HOME
XDG_CACHE_HOME
--filesystem
$ flatpak run --filesystem=xdg-config --filesystem=xdg-cache \
--filesystem=xdg-data <application-id>
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不起作用。
让 Flatpak 应用程序在标准位置重用用户数据和配置的正确方法是什么?
我的ASUSPRO B8430UA 笔记本电脑有问题:当我使用 Ubuntu 16.04(或 NixOS 16.03)启动它时,以太网端口不工作。使用的驱动程序是e1000e,它报告:
$ dmesg | grep e1000e
[ 5.643760] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 5.643761] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 5.644308] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 5.877838] e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
[ 5.907340] e1000e: probe of 0000:00:1f.6 failed with error -5
Run Code Online (Sandbox Code Playgroud)
在 Windows 7 以太网端口下工作正常:我可以连接到 Internet。根据 Windows,我有Intel(R) 以太网连接 I219-V。
我搜索了“官方” Linux 驱动程序 …
最近,在我对我的多重引导系统做了一些事情之后,当我用 引导 NixOS 时systemd-boot
,引导菜单不再显示,即使超时仍然设置为 2 秒/loader/loader.conf
(在 ESP 上):
# /loader/loader.conf on the ESP
timeout 2
default nixos-generation-380
Run Code Online (Sandbox Code Playgroud)
这是我的/etc/nixos/configuration.nix
:
{ # ...
boot.loader = {
efi.canTouchEfiVariables = true;
systemd-boot.enable = true;
timeout = 2;
};
}
Run Code Online (Sandbox Code Playgroud)
事实证明,要查看启动菜单,我必须在启动过程中按下某个键,就好像超时已设置为 0(而不是 2)秒。
我尝试systemd-bootx64.efi
从 ESP 中删除并nixos-install
从 USB 闪存驱动器重新安装 NixOS 。这恢复systemd-bootx64.efi
但没有带回启动菜单。
这个问题似乎并不少见:
Reddit:systemd-boot 菜单突然消失了?
Arch Linux 论坛:systemd-boot,无超时,无选择菜单 - LoaderEntryDefault
据报道,这两个问题都已得到解决。但是,我不明白第一个解决方案:
编辑3:解决了!重新安装 UEFI 就成功了。
“重新安装 UEFI”是什么意思?
至于第二个,它建议在启动菜单中使用t和Shift+t键(如果在启动过程中按下某个键就会显示)来设置不同的超时,但我不想要不同的超时,我想要 …
我遇到了 ASIX AX88179 USB 3.0 千兆位以太网适配器的一个相对常见的问题,它根本无法工作,或者偶尔工作,并且dmesg
显示如下错误
[23552.344134] ax88179_178a 2-1:2.1 eth1: Failed to read reg index 0x0000: -32
Run Code Online (Sandbox Code Playgroud)
在网上搜索时,我发现了有关此问题或类似问题的报告,但没有令人满意的解决方案或解释。
经过一番调试,发现如果cdc_mbim
之前加载了模块,问题就解决了ax88179_178a
。以下解决了该问题,直到下次重新启动为止:
# rmmod ax88179_178a
# modprobe cdc_mbim
# modprobe ax88179_178a # optional
Run Code Online (Sandbox Code Playgroud)
我已经检查过没有直接或间接cdc_mbim
声明为 的依赖项。ax88179_178a
我怎样才能使ax88179_178a
依赖cdc_mbim
,以便cdc_mbim
始终自动加载ax88179_178a
?
更新。
我的问题似乎与Create Linux module dependency for autoloading module重复。
是否可以执行等效于apt-get autoremove
with aptitude
?如果是,如何?
Debian的管理员手册说的是aptitude
“autoremoves”自动包,但事实却并非如此(并非总是如此)。就我而言(Ubuntu GNOME 16.04),我有一个 linux 内核,它apt-get autoremove
建议让我摆脱:
§ sudo apt-get autoremove
[sudo] password for alexey:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic
linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 295 MB disk space will be freed.
Do you want to continue? [Y/n]
Run Code Online (Sandbox Code Playgroud)
aptitude
,然而,并不关心它。
这是输出aptitude why …
在相对较新安装的 Linux Mint 18.3 上,我发现没有/etc/apt/sources.list
文件。这似乎不会造成任何问题,但偶尔会弹出警告:
WARNING:root:could not open file '/etc/apt/sources.list'
Run Code Online (Sandbox Code Playgroud)
(例如,如果我尝试执行命令行中不存在的命令)。
AFAIU,在 Linux Mint 上,标准源在/etc/apt/sources.list.d/official-package-repositories.list
.
如果没有,一切都会按预期工作sources.list
吗?没有它是正常的吗?如果没有,任何想法如何将其删除?(该警告是在系统安装后大约一两个星期意外注意到的。)
忽略警告或创建一个空的/etc/apt/sources.list
更好,还是有更好的解决方案?
我知道我可以创建一个空文件并且警告可能会消失,但我想了解这是如何在新安装的 Linux Mint 18.3 上发生的,以及它是否可能是某些问题的症状(也许还有更重要的文件在某处丢失)。
我在 Linux Mint 19.1 下的Lenovo IdeaPad 310-15IKB笔记本电脑上的内置麦克风遇到了一些奇怪的问题。例如,它不与 Skype 一起工作,而是与Gnome Sound Recorder一起工作。声音配置窗口中的麦克风输入音量指示器也表现得很奇怪,似乎对声音大多不敏感(但对敲击麦克风开口有反应)。
我可以通过使用PulseAudio Volume Control 并按照 Ubuntu Help wiki或其他地方的建议禁用两个麦克风“通道”之一来解决这个问题:
我相信内置麦克风是单声道的,因为它只有一个开口(在笔记本电脑屏幕的顶部,相机的左侧),所以我想将其配置为单声道,而不必手动禁用一个两个“输入通道”。此外,在系统的声音配置窗口中更改输入音量会破坏此解决方法,并且必须通过 PulseAudio 音量控制再次禁用其中一个“通道”。
即使出于某种奇怪的原因,尽管该麦克风只有一个开口,但仍是立体声,但我认为将其配置为单声道会更好。
如果将麦克风正确设置为单声道太复杂,是否有任何干净的解决方法.asoundrc
?
更多链接
这个问题是关于当两个发行版共享一个交换分区时的副作用的一个更具体的“子问题” 。
如果我在我的机器上安装两个带有共享交换分区的 Linux 发行版,其中一个休眠,然后启动到另一个,实际会发生什么?另一个会发现交换数据无效,还是会尝试使用它(可能会产生不可预测的后果)?
我在网上找到的关于在 Ubuntu 中添加或替换内核模块的大多数说明只提到modprobe
和rmmod
. 但是,根据我的经验e1000e
,除非我update-initramfs -u
之后再做,否则在重新启动后会恢复修改。的man
页面update-initramfs
没有提到模块。
那么,update-initramfs -u
如果我想在重新启动后拥有修改后的内核,是否总是需要在更换内核模块后运行?
对于/tmp
tmpfs,我知道我可以使用 中的条目,但我不明白有时提到/etc/fstab
的作用,以及在什么情况下我需要创建或修改它。/etc/default/tmpfs
最近,我经常看到建议使用systemdtmp.mount
配置。例如,在 Debian 上:
$ sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/
$ sudo systemctl enable tmp.mount
Run Code Online (Sandbox Code Playgroud)
这两种方法哪一种更适合日常使用?在什么情况下,一种比另一种更好?我什么时候需要处理/etc/default/tmpfs
?
apt ×2
debian ×2
ubuntu ×2
alsa ×1
aptitude ×1
asus ×1
audio ×1
bash ×1
boot ×1
dependencies ×1
drivers ×1
dual-boot ×1
ethernet ×1
firefox ×1
flatpak ×1
fstab ×1
hardware ×1
hibernate ×1
intel ×1
laptop ×1
linux-mint ×1
microphone ×1
mount ×1
nixos ×1
pulseaudio ×1
swap ×1
systemd ×1
systemd-boot ×1
tmp ×1
tmpfs ×1
uefi ×1
upgrade ×1
usb ×1
xdg ×1