小编Cir*_*郝海东的帖子

如何在 UNIX 系统上播放 PCM 文件?

我试图弄清楚如何将libmad与 C一起使用。问题是,libmad 将音频文件转换为 .pcm 文件,但我找不到播放这些文件的方法。没有简单的 .pcm 播放器,每次我尝试用它打开 pcm 文件时,Audacity 都会崩溃。有人对这个有经验么?我愿意将这些 pcm 文件转换为 wav 文件或其他一些格式,但同样没有直接的方法来做到这一点(至少我还没有找到)。

audio mp3 c pcm

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

如何从 CLI 读取 Linux 中的特定 PCI 设备寄存器?

为了控制我的背光,我需要执行以下操作:

sudo setpci -s 00:02.1 F4.B=x
Run Code Online (Sandbox Code Playgroud)

这可以读作:

对于 ID 为 00:02.1 的 PCI 设备,将寄存器 F4(仅限字节)设置为 x。

为了找出我想要的 x 值,我想读取它的当前值(在我正在编写的脚本中)。我该怎么做呢?

早期工作

这似乎是lspci. 我试过

sudo lspci -x -s 00:02.1
Run Code Online (Sandbox Code Playgroud)

但这并没有提供足够的范围(没有到达寄存器/地址 F4)。但是,我可以使用-xxx命令行来完成。这给了我一个转储,我可以在其中看到 F4 处的字节,我验证了我可以使用setpci命令进行操作。但是,手册上说:

  -xxx   Show hexadecimal dump of the whole PCI configuration space. It is  available  only  to  root  as  several  PCI
         devices  crash when you try to read some parts of the config space (this behavior probably doesn't violate the
         PCI standard, but it's …
Run Code Online (Sandbox Code Playgroud)

linux pci

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

如何在每个点绘制带有线条和标签的数据?

我有一个包含数据的存档“curva-l”:

2.308E-05   5.397E-01     1.0E-09  
2.318E-05   5.224E-01     1.0E-08
2.426E-05   5.029E-01     1.0E-07 
4.012E-05   4.718E-01     1.0E-06
1.311E-04   4.155E-01     1.0E-05
3.751E-04   3.703E-01     1.0E-04
1.306E-03   3.197E-01     1.0E-03
Run Code Online (Sandbox Code Playgroud)

第一列是 X 轴,第二列是 Y,第三列是每个点的值。我想用线条绘制这条曲线,并用它们各自的值标记每个点。

像这个

gnuplot

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

如何在 Ranger 文件管理器中定义新命令?

我希望能够通过键入以下内容在Ranger 文件管理器中定义新命令:

:newcmd myarg
Run Code Online (Sandbox Code Playgroud)

并用它运行任意代码。

命令定义还应该能够访问程序的状态,例如当前目录和选定的文件。

有没有办法做到这一点?

免责声明:由于缺乏关于这个主题的良好资料,我创建了这个问题并自我回答。非常欢迎其他答案。

ranger

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

如何以编程方式生成PDF?

我想制作一个完全由图像文件夹组成的 PDF 文件,最好不要添加压缩或 cruft。是否有任何程序可以让我通过脚本或 API 手动创作 PDF 文件?重要的是 a) 我的 JPEG 不会被第二次压缩,并且 b) 它们以原始分辨率显示,没有边框。(换句话说,我希望我的 PDF 文件只有在每页上以 0,0 为中心的直接 JPG 图像数据,大小正确。)据我所知,大多数创作程序重新压缩图像并添加他们自己的布局的东西。

pdf

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

Linux中init进程的父进程是什么进程?

谁或哪个进程是 INIT 进程的父进程?INIT是Kernel初始化的第一个进程,kernel不是一个进程,那么它的父进程id值是多少呢?

linux process pid

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

Linux 中的伪文件系统是什么?

有人可以从不同的观点(用户/进程/应用程序)阐明含义的pseudo file system含义以及它与常规file system的有何不同。

linux filesystems

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

在 QEMU 中引导未压缩的 vmlinux 内核而不是 bzImage

这个问题以前曾被问过,但没有得到解答。

我正在尝试启动未压缩的 RTEMS ELF 文件

> qemu-system-x86_64 -kernel ./rtems-elf.exe
Run Code Online (Sandbox Code Playgroud)

结果是

qemu-system-x86_64: Error loading uncompressed kernel without PVH ELF Note
Run Code Online (Sandbox Code Playgroud)

我已经为 rtems RTOS 构建了许多内核,但是,为了进行完整性检查,我尝试从 rtems 启动一个示例,因此理想情况下代码应该没有问题。我还尝试启动未压缩的 Linux 内核(实时和常规),但出现了相同的错误。

一些有用的信息:

> file rtems-elf.exe
hello.exe: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped
Run Code Online (Sandbox Code Playgroud)
> qemu-system-x86_64 --version
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
Run Code Online (Sandbox Code Playgroud)

主机 - Arch linux x86_64

其他一些尝试:

这个例子是一个带有 PREEMPT_RT linux 补丁的实时 linux 内核,我有 bzImage,但我只是测试了 qemu 启动非压缩内核的能力

> file …
Run Code Online (Sandbox Code Playgroud)

linux kernel qemu

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

如何将 QEMU 串行输出重定向到文件和终端或端口?

我希望既能通过命令行与系统交互,又能同时将输出输出到文件中。

如果我做:

qemu-sysem-x86_64 -serial stdio |& tee file
Run Code Online (Sandbox Code Playgroud)

然后它大部分工作,但我想避免任何 Bash 操作,让 QEMU 为我做繁重的工作。例如,我正在使用 Python,在tee那里实现一个可靠的并不是那么简单。

如果我做:

qemu-sysem-x86_64 -serial file:myfile
Run Code Online (Sandbox Code Playgroud)

它重定向到文件,我无法提供任何输入。

有没有一种方法,以“结合”都file:stdio一个单一的-serial

多个-serial条目只是创建多个串行端口,而不是修改一个。

如果它与 telnet 一起使用,我也很感兴趣:

-serial tcp::1234,server,nowait
Run Code Online (Sandbox Code Playgroud)

http://lists.nongnu.org/archive/html/qemu-discuss/2018-11/msg00011.html

qemu

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

标签 统计

linux ×4

qemu ×2

audio ×1

c ×1

filesystems ×1

gnuplot ×1

kernel ×1

mp3 ×1

pci ×1

pcm ×1

pdf ×1

pid ×1

process ×1

ranger ×1