我最近对一个奇怪的想法感到震惊,即从/ dev/urandom获取输入,将相关字符转换为随机整数,并使用这些整数作为像素的rgb/xy值绘制到屏幕上.
我做了一些研究(这里是关于StackOverflow和其他地方),许多人建议您可以直接写入/ dev/fb0,因为它是设备的文件表示.不幸的是,这似乎没有产生任何视觉上明显的结果.
我发现了一个示例C程序来自QT教程(不再可用),它使用mmap写入缓冲区.程序成功运行,但同样没有输出到屏幕.有趣的是,当我将我的笔记本电脑放入Suspend并稍后恢复时,我看到了一个瞬间闪现的图像(一个红色正方形),它被更早地写入帧缓冲区.写入帧缓冲区是否在Linux中用于绘制屏幕?理想情况下,我想写一个(ba)sh脚本,但C或类似的也可以.谢谢!
编辑:这是示例程序...兽医可能看起来很熟悉.
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
int main()
{
int fbfd = 0;
struct fb_var_screeninfo vinfo;
struct fb_fix_screeninfo finfo;
long int screensize = 0;
char *fbp = 0;
int x = 0, y = 0;
long int location = 0;
// Open the file for reading and writing
fbfd = open("/dev/fb0", O_RDWR);
if (fbfd == -1) {
perror("Error: cannot open framebuffer device");
exit(1);
}
printf("The framebuffer …Run Code Online (Sandbox Code Playgroud) 我在 Linux 上使用 Banshee,让它在文件夹层次结构中自动组织我的音乐收藏。当我将新专辑添加到“音乐”文件夹时,Banshee 会自动移动(并重命名)mp3,并将它们放入正确的“艺术家”文件夹中。如果文件夹中没有其他文件,则该文件夹也会被删除,但如果存在其他文件,则仅移动 mp3,而保留该文件夹。因此,我的音乐文件夹中有许多文件夹,其中不包含 mp3,仅包含图像文件或类似的辅助文件。
我将如何删除其中没有 mp3 文件的任何文件夹(在 Music 文件夹内)?
例如,假设我有以下内容:
/home/user/Music/
Run Code Online (Sandbox Code Playgroud)
我添加了文件夹“Album 1 (2010)”,其中包含 mp3 和封面艺术。Banshee 会取出 mp3 并将它们放入正确的艺术家文件夹中,例如:
/home/user/Music/Artist
Run Code Online (Sandbox Code Playgroud)
但然后文件夹
/home/user/Music/Album 1 (2010)
Run Code Online (Sandbox Code Playgroud)
仍然存在。如何检查该文件夹中是否有mp3,如果没有则将其删除?
我认为答案将是命令行,但我愿意接受任何建议。另外,最好要求确认……以防万一。
我有一系列PDF(计算机游戏世界问题),我想从每个问题的pdf文件中删除第一页.有100个问题,因此GUI不会削减它.我用pdftk从一个问题中删除了第一页:
pdftk 1981_1112_issue1.pdf cat 1 output 1.pdf
Run Code Online (Sandbox Code Playgroud)
我的问题是我不想为每个pdf问题修改和运行此命令,因为这并不比GUI方法好多少.
使用*.pdf作为输入似乎不起作用.我还可以使用其他方法在每个PDF上运行pdftk?
随着最近转向Flash 10(或者它可能是一个发行版选择),我和许多其他人不再能够从/ tmp复制Flash视频.但是,我发现了以下解决方法:
首先,执行:
lsof | grep Flash
Run Code Online (Sandbox Code Playgroud)
应该像这样返回输出:
plugin-co 8935 richard 16w REG 8,1 4139180 8220 /tmp/FlashXXq4KyOZ (deleted)
Run Code Online (Sandbox Code Playgroud)
注意:您可以在此处看到问题..../tmp文件已释放文件指针.
但是,您可以通过使用cp命令来获取文件:
cp /proc/#/fd/# video.flv
Run Code Online (Sandbox Code Playgroud)
其中第一个#是进程ID(8935),第二个是下一个数字(16,从16w).
目前,这是有效的,但它需要一些手动步骤.为了自动执行此操作,我想我可以拉出PID和fd编号并将它们动态插入到cp命令中.
我的问题是如何将适当的字段拉入变量?我知道你可以使用$ 1等来获取输入参数,但是你如何检索输出?
注意:我可以pidof plugin-container用来查找PID,但我仍然需要另一个数字(因为它告诉哪个特定的Flash视频要保存).