Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

9
如何为整个gnome会话设置`umask`?
使用Gnome 3.18。我在其他家庭成员之间共享文件,但是我的发行版(archlinux)上的默认umask是0022。因此,对于我们的普通组而言,创建的每个文件/目录均不可写。 我尝试放入umask 0002,/etc/profile但是gnome会话仍在使用0022。不过,它适用于登录bash shell。 我还尝试在中添加这一行/etc/pam.d/system-auth: session required pam_umask.so umask=0002 它与中的行具有相同的效果/etc/profile。我试过了 如果我在gnome-terminal shell中手动更改umask,则我从中启动应用程序,例如gedit,然后由它创建的文件具有所需的权限。如果我从gnome菜单启动gedit,则不会。所以我的事真的是为gnome会话设置umask,而我找不到在哪里做。 编辑(回答吉尔的评论):我使用gdm 3.18作为DM。我还尝试将pam_umask行添加到中/etc/pam.d/gdm-launch-environment。所有其他gdm-*文件都包含session该system-auth文件中的,因此它们不需要更多。它没有任何改变。 /etc/login.defs包含,UMASK 077但也USERGROUPS_ENAB yes应将设置umask为或,0077或者0007将主要组作为用户名的用户设置为。 包含022用于umask 的唯一文件/etc是,/etc/profile但这是我的第一次尝试。 至于/etc/Xsession.d,我没有这个目录。此外,由于wayland现在是默认的显示服务器,因此即使我自己仍在使用umask,我也不确定将umask设置为X初始化的一部分。
10 gnome3  umask 

1
音乐磁盘的节省空间的Linux文件系统?
我的笔记本电脑中有一个旧的固态硬盘,里面充满了静态数据,主要是FLAC和一些zip文件,很少有文件少于10MB,同样每周写入一次,而不是每秒写入一次。我不愿购买新的旧磁盘来获得更多空间,因为我将笔记本电脑移动了很多圈,而我对旧磁盘和自行车的经验是它们是不好的组合。 查看“ BTRFS的优点 ”,“ 不同的文件系统 ”和HowToGeek,我不禁想到ext2fs可能是最节省空间的文件系统。它不是日志记录,这对于此应用程序来说是很好的,并且对于大文件也可以。我认为速度实际上并不重要,因为SSD远远快于音乐播放器的需求。 是否有比EXT2更好的文件系统?我可以将SSD格式化为只读CDFS样式的格式之一,这会为我带来更多可用空间吗?
10 filesystems  flac 

3
如何取消导出变量而不丢失其值?
假设我导出了一个变量: foo=bar export foo 现在,我想取消导出它。就是说,如果我这样做,我就sh -c 'echo "$foo"'不会得到bar。foo完全不应该出现在sh -c的环境中。 sh -c仅仅是示例,是显示变量存在的一种简单方法。该命令可以是任何东西-它的行为可能仅受其环境中变量的存在影响。 我可以: unset 变量,并丢失它 使用env以下命令将其删除:env -u foo sh -c 'echo "$foo"' 如果要继续使用当前的shell一段时间,则不切实际。 理想情况下,我想保留变量的值,但不要让它在子进程中完全显示,甚至不显示为空变量。 我想我可以做到: otherfoo="$foo"; unset foo; foo="$otherfoo"; unset otherfoo otherfoo如果已经存在,这有可能会踩踏。 那是唯一的方法吗?有什么标准方法吗?

3
pv(进度条)和gzip
为什么这不可能呢? pv ${dest_file} | gzip -1 pv 是进度条 错误 gzip: compressed data not written to a terminal. Use -f to force compression. For help, type: gzip -h 0 B 0:00:00 [ 0 B/s] [> ] 0% 这有效 pv ${file_in} | tar -Jxf - -C /outdir

2
在SSH隧道上创建VNC会话时,“通道3:打开失败:受管理禁止:打开失败”
通过隧道式SSH连接创建VNC连接时,出现错误: channel 3: open failed: administratively prohibited: open failed 我发现只有当我没有像username使用隧道VNC连接尝试连接的主机那样本地登录到主机时,才会发生这种情况。SSH隧道: ssh -p 6000 -L 5901:127.0.0.1:5901 username@192.168.0.2 VNC连接: vncviewer localhost:1 我尝试在/etc/ssh/sshd_config使用AllowTunnel yes和不使用设置的情况下调整设置。(在每次更改后,我都确实重新启动了ssh :)service ssh restart但是,如果我在远程主机上运行本地会话(即,我以username本地身份登录),该错误就会消失。还有其他人看到此现象吗?似乎我应该能够远程启动VNC并访问它,而不必也必须本地登录。

1
X服务器仅以root用户身份启动
我有一个Arch Linux系统,常规内核和驱动程序。由于某些奇怪的原因,xinit由非root用户启动时会产生错误。日志说: (EE) parse_vt_settings: Cannot open /dev/tty0 (No such file or directory) 但是,我可以stat和ls非root用户的文件以及对它的许可权是755

1
管理另一个用户的系统单位
一个用户,或者可能是root用户,可以控制另一用户的用户级别的系统服务吗? 我试过sudo -u <some user> systemctl --user restart <some service>,但它抱怨DBUS: Failed to get D-Bus connection: Connection refused。
10 sudo  systemd 

3
我可以在Bash大括号扩展中使用变量吗?
以下是我要完成的某种伪代码: #!/bin/bash # I already have the variable below figured out (positive integer): numlines=$([returns number of lines containing specific characters in a file]) # This is basically what I want to do with it: for i in {1..$numlines}; do # the part below is already figured out as well: do …

1
为什么将ffmpeg从Debian中删除?
当前,ffmpeg当使用稳定版的Debian和Ubuntu时,APT软件包中缺少该软件包。 有很多资源(例如SuperUser的资源,Debian文档的另一个资源和AskUbuntu的资源),它们解释了如何以不同于简单的方式(更复杂)安装它apt-get install ffmpeg。 我想知道为什么包装没有放在第一位? 据我了解,它avconv是Debian类似发行版的分支,ffmpeg并且是事实上的标准。同时,ffmpeg也没有被遗弃:尽管网站的负责人离开了项目负责人,但该网站并没有打算以牟利为目的关闭该项目。avconvffmpeg 所以: 为什么ffmpeg从APT软件包中删除它们,而不是保留它并仅添加它avconv? 是否有理由(除了安装变得更加困难之外ffmpeg)停止使用它?
10 debian  ffmpeg 

1
Nano编辑器:删除到文件末尾
使用GNU的Nano Editor时,是否可以从实际光标位置删除到文本文件的末尾? 我现在的解决方法是:保持按下状态CtrlK(删除完整行热键)。但是在慢速的远程连接(telnet,SSH等)上,此方法并不那么舒适。
10 nano 

2
我可以为tr禁用缓冲吗
tr似乎要缓冲其输入,以便该命令LongRunningCommand|tr \\n ,仅在LongRunningCommand积累了几千字节的输入后才开始产生输出。 有没有一种方法可以强制tr停止此缓冲,或者可以使用其他字符替换新行而不进行缓冲的任何其他命令? PS我已经尝试了关闭管道中的缓冲但没有成功的前两个建议。
10 tr 

4
如何查看命令组(而不是进程)的摘要内存使用情况
使用top / htop之类的工具时,是否可以将类似的流程分组?有时我只想知道什么在消耗我的内存,而某些程序(大多数是浏览器)正在使用多个进程,这使得很难读取它们真正使用了多少RAM。 到目前为止,我只想到了这样的东西: ps ax -o pmem,cmd | grep opera | grep -oE '^[ ]*[0-9.]+' | paste -sd+ - | bc
10 process  top 

1
真正的GNOME Wayland会议
我正在尝试测试“真实”的Wayland gnome会话。我知道并不是所有的应用程序都可以在Wayland本机上运行(为此,我们拥有XWayland),但至少我希望GTK +应用程序可以运行。 因此,我创建了一个~/.profile包含 export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland >>>编辑:~/.profile除了上面的内容,您可以添加它以使其适用于X和Wayland会话: WAY=$(ps -aux | head -n -1 | grep "/usr/bin/gnome-shell --wayland") if [ -z "$WAY" ]; then echo X11 else export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland fi <<< 然后从我的GDM登录屏幕(Archlinux)中,在wayland上选择gnome。 准备就绪后,我将启动(例如)鹦鹉螺(通常从破折号开始,而不是从终端),然后打开窥视镜,选择“窗口”部分,然后单击鹦鹉螺窗口,我得到的GType:MetaWindowWayland提示是鹦鹉螺实际上正在运行在Wayland而不是XWayland上。超! 但是,如果再次从GType:MetaWindowX11窥视镜中选择gnome-sell条目,则会告诉我该外壳程序正在XWayland上运行。 Mutter似乎在Wayland上运行(例如,X和W之间的剪贴板仍然不起作用),登录后启动的所有GTK +应用程序也都在Wayland上运行(GType:MetaWindowWayland),但是gnome-shell仍在X11上。 我的猜测是,~/.profile在启动会话时不考虑gnome-shell 。也许是因为它是由系统而不是由用户启动的?所以也许我必须补充 export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland 别的地方?
10 bash  gnome  wayland 


1
Udev规则可匹配任何USB存储设备
如何udev为插入的任何USB大容量存储设备而不只是特定设备实施规则?什么应该改变的idVendor,和idProduct? ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="0204", SYSFS{idProduct}=="6025", RUN+="/home/workspace/bash_script.sh"
10 udev 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.