标签: i3

如何在不使用桌面环境或会话管理器的情况下告诉 systemd-logind 会话不是空闲的?

我想logind用于电源管理。闲置 30 分钟后,我希望计算机暂停。

问题是,现在,即使我使用鼠标和键盘活动,它也会在 30 分钟后挂起。我的logind.conf

[Login]
HandlePowerKey=suspend
IdleAction=suspend
IdleActionSec=30min
Run Code Online (Sandbox Code Playgroud)

我的 Ubuntu 15.04 设置非常小,我想保持这种状态。我在控制台登录(我不想要会话管理器),然后键入startx,这将启动我的~/.xinitrc执行i3,我的首选窗口管理器。我不想使用桌面环境。

我希望计算机在给定的时间后挂起和锁定。

所以,我的~/.config/i3/config文件包括:

exec "xss-lock -- i3lock -c 000000"
Run Code Online (Sandbox Code Playgroud)

屏幕锁工作正常,集成良好。所以没有问题。

如果有兴趣:

loginctl show-seat -p IdleHint
Run Code Online (Sandbox Code Playgroud)

产量:

IdleHint=yes
Run Code Online (Sandbox Code Playgroud)

如果我很活跃,似乎应该是“不”,对吧?

如果我这样做:

gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1/session/c1 --method org.freedesktop.login1.Session.SetIdleHint false
Run Code Online (Sandbox Code Playgroud)

或这个:

dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1/session/c1 "org.freedesktop.login1.Session.SetIdleHint" boolean:false
Run Code Online (Sandbox Code Playgroud)

读取 IdleHint 仍然输出“IdleHint=yes”!

那么我错过了什么?如何在systemd-logind不使用会话管理器或桌面环境的情况下避免在我处于活动状态时挂起?

lxqt-powermanagement例如,我知道我可以使用,但我认为我认为这是不必要的。当然,我可以更改我对桌面环境的个人偏好,并在必要时更改。不过,这个问题似乎是可以解决的。

xorg d-bus systemd i3 logind

7
推荐指数
2
解决办法
2703
查看次数

i3 和 vmware:如何检测分辨率变化并将当前分辨率设置为新的分辨率变化?

我正在使用 vmware 运行 arch linux。我已经设置了 i3-gaps 并且在使用柠檬条时一切都设置正确,但是,我唯一的问题是柠檬条设置为当前分辨率。当我调整 VMware 大小时,分辨率会发生变化,并且该栏不再正确显示。调整 vmware 窗口大小时刷新分辨率的最佳方法是什么?

我使用的是最新的 VMware fusion 8.1。目前,我正在使用柠檬条,它通过使用 xrandr -q 并使用 awk 来获取当前分辨率的宽度来查找当前分辨率。

xrandr i3

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

在 i3 中设置绑定以控制键盘背光

对于我的i3 窗口管理器设置,我正在寻找类似于 的命令行工具xbacklight,但用于控制键盘中 LED 的亮度。

基本上,我可以通过命令行设置 LED,但它需要是 root:

# Light off the leds
echo 0 > /sys/class/leds/smc::kbd_backlight/brightness
# Light on the leds (full power)
echo 100 > /sys/class/leds/smc::kbd_backlight/brightness
Run Code Online (Sandbox Code Playgroud)

我知道这是可能的,因为 Gnome3 对此提供支持,但我不知道他们究竟是如何进行的......

现在,我的~/.config/i3/config样子是这样的:

# screen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10

# keyboard backlight controls
#TODO
# XF86KbdBrightnessUp
# XF86KbdBrightnessDown
Run Code Online (Sandbox Code Playgroud)

那么,有没有一种工具,类似于xbacklight用键盘背光来做屏幕亮度一样的事情?如果这个工具可以同时控制(屏幕和键盘),那就更好了。

i3 backlight keyboard-backlight

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

i3:默认启用全屏

使用 i3,是否可以默认全屏打开所有新窗口?据我所知,这仅适用于指定的程序。

i3

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

无法将 xdg-open url-handler 更改为 Firefox

我的问题是许多程序调用 xdg-open 来打开网站,但在我的 Manjaro 系统(基于 Arch Linux)上,这以某种方式绑定到 cups :)

当这种对 xdg-open 的调用发生时,CPU 使用率会上升很多,但没有任何反应。我重新启动是因为笔记本电脑很快变热。

~ $ xdg-settings get default-web-browser
cups.desktop
Run Code Online (Sandbox Code Playgroud)

当我想改变它时,我得到以下响应:

~ $ xdg-settings set default-web-browser firefox.desktop
xdg-settings: $BROWSER is set and can't be changed with xdg-settings
Run Code Online (Sandbox Code Playgroud)

我可以继续更改浏览器的环境变量,我已经修复了,但仅适用于这个终端。如何使此更改永久化或将其添加到自动启动?

我正在使用:i3 4.12,鱼壳

i3 manjaro xdg-open

7
推荐指数
2
解决办法
5874
查看次数

i3wm:两台显示器,每台显示器一个浏览器(双头信息亭)

我的目标是让 i3 在双显示器设置中为每个显示器启动一个浏览器。

我找不到如何启动浏览器并将其移动到目标监视器。

我已经仔细阅读了文档并在 ~/.i3/config 中尝试过

exec --no-startup-id i3-msg 'workspace 1 ; move workspace to output HDMI1 ; exec chromium --new-window "http://url/1" ; workspace 2 ; move workspace to output HDMI2 ; exec chromium --new-window "http://url/2"'
Run Code Online (Sandbox Code Playgroud)

但是两个窗口都出现在第一个监视器上,第二个窗口空白。

我错过了什么 ?

Xorg 配置如下:

Section "Monitor"
  Identifier "HDMI1"
  Option     "Primary" "true"
EndSection

Section "Monitor"
  Identifier "HDMI2"
  Option     "LeftOf" "HDMI1"
EndSection
Run Code Online (Sandbox Code Playgroud)

编辑:

我已经添加到~/.i3/config

workspace 1 output HDMI1
workspace 2 output HDMI2
Run Code Online (Sandbox Code Playgroud)

我试过了

exec --no-startup-id i3-msg 'workspace 1; exec xeyes'
exec --no-startup-id i3-msg …
Run Code Online (Sandbox Code Playgroud)

window-manager xorg multi-monitor kiosk i3

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

在 i3 中执行 xkill

我正在尝试绑定xkill到这样的组合键:

bindsym $mod+Pause exec xkill
Run Code Online (Sandbox Code Playgroud)

但我按下按键后没有任何反应。

如果我从启动器执行 xkill 工作正常。

我尝试将 stderr 重定向到一个文件,但在执行 xkill 后该文件为空。

任何想法如何xkilli3 中使用键盘快捷键?

keyboard-shortcuts i3

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

^@ tty 中的垃圾邮件(但似乎是系统范围的)

我最近注意到我的 GNU/Linux 机器上出现了一些奇怪的行为。我一直试图缩小范围,但我不确定下一步该去哪里。我的设置使用以下内容:

  • i3
  • 大马
  • 系统
  • grub2
  • 脉冲音频
  • 4.13.3-1-ARCH

这是它的表现方式:

  • 当尝试在 i3 中调整窗格大小时(alt+右键单击并按住),该操作将被随机取消(发生在按键时)
  • alt+拖动窗口遇到类似的命运
  • 启动到 tty 会定期在登录提示中添加 ^@s,我估计它们的间隔为 ~0.5s
  • 在 tty 中,当我打开命令栏时,我可以看到那些被传递给 vim (:)
  • 在 tty 模式下使用 less 之类的寻呼机并使用 / 搜索将导致(?)被垃圾邮件
  • htop 的搜索 (/) 立即被周期性按键取消
  • 按住一个键并试图让它重复(例如按住空格)将阻止其他事件的发生(例如只发生一两个)
  • 任何工具提示(例如 chrome 工具提示)都会因为按键而立即关闭

这是我尝试过的:

  • 尝试暂时切换 DE(gnome、cinnamon、xfce)
  • 尝试一个一个地杀死程序,直到我剩下一个 tty 会话和本质上 systemd 服务 + pulseaudio
  • 尝试在 arch livecd 上启动 - 问题未出现
  • 用 init=/bin/bash 覆盖 grub2 使我进入一个问题没有出现的 shell
  • 我试过按所有键来验证它不是硬件问题,但是前面的步骤指出它不是硬件问题
  • 我从 init=/bin/bash 和常规启动中对 dmesg 进行了区分 - 主要区别似乎是 systemd 在常规启动中启动
  • 从 init=/bin/bash 和常规启动对 lsmod 进行了比较,尝试使用 rmmod 似乎相关的模块

我的系统是最新的,我不太确定我可以采取哪些其他步骤来追踪这个问题。还有其他调试技巧吗?

arch-linux keyboard tty i3

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

X11 - 如何确定是什么阻止了 DPMS 暂停我的显示?

[注意:注意到一个类似的问题,但从未收到回复。]

我使用i3archlinux。我已将 DPMS 设置为在闲置 2 分钟后暂停显示 ( xset dpms 0 120 180)。但是,我注意到它并不总是自动启动。我不认为这是硬件问题,因为执行xset dpms force工作没有问题。

我的设置:

$ xset q
Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off
    03: Compose:     off    04: Kana:        off    05: Sleep:       off
    06: Suspend:     off    07: Mute:        off    08: Misc:        off
    09: Mail:        off    10: Charging:    off    11: …
Run Code Online (Sandbox Code Playgroud)

arch-linux power-management x11 i3

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

如何防止清除 bash 历史记录?

按照答案

同时关闭多个 bash 实例时,存在一个已知的竞争条件,可能会导致历史记录被清除。发生这种情况是因为写入 bash 历史文件时没有使用锁定。

如何防止 bash 历史清除的原因?

我使用 i3wm,我认为它主要发生在我在手动关闭urxvt终端之前关闭计算机时。用于关闭的命令(通过键绑定)是systemctl poweroff.

shutdown bash command-history i3

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