AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[startup](unix)

Martin Hope
sancho.s ReinstateMonicaCellio
Asked: 2022-04-07 15:03:39 +0800 CST

启动时自动启动vino-server

  • 0

我正在使用 Bodhi Linux,并vino-server在其中。我可以按照我用来连接到 Ubuntu 机器的相同程序从 Win 10 巧妙地连接。

现在我想vino-server在启动时自动启动。我在 Ubuntu 中使用的(1. 添加vino-server到启动应用程序,2. 让 Gnome 自动登录到我的用户(源))在这里对我不起作用。原因:我找不到在 Bodhi Linux 中启动任意应用程序的方法。我发现如何仅从给定列表中添加启动应用程序,并且vino-server不在其中(来源:“似乎没有一种方法可以在工具中添加自定义命令或脚本,因此如果未自动找到实用程序或应用程序可能需要进一步研究才能添加它”)。

反复发现的其他替代方案(我从未在 Ubuntu 中尝试过)在这里对我不起作用:

  1. 设置~/.config/autostart/vino_server.desktop文件(源)。
  2. vino-server作为服务启动(源)。

我的内容~/.config/autostart/vino_server.desktop是

[Desktop Entry]
Type=Application
Exec=/usr/lib/vino/vino-server
Name=vino Server

我怎样才能使这项工作?
(也许找到一种在启动时添加任意应用程序的方法,上面的方法#1)。

注意:就我而言,我没有$XDG_CONFIG_HOME设置(我确实有很多其他$XDG_...变量)。我不知道这是什么原因,以及这是否可能导致vino_server.desktop登录时无法运行,方法 #1。 据此,“兼容的桌面环境(对于 freedesktop.org / XDG 基本目录规范)将搜索
任何文件并在启动时执行它们。因此丢失可能是一个问题 。OTOH,官方文档指出“定义了基础相对于应该存储用户特定配置文件的目录。如果未设置或为空,则应使用默认值等于。”我不知道后者是否意味着人们应该期望$XDG_CONFIG_HOME/autostart.desktop$XDG_CONFIG_HOME
$XDG_CONFIG_HOME$XDG_CONFIG_HOME$HOME/.config$XDG_CONFIG_HOME始终设置,除非 Moksha(桌面环境)不符合 XDG。

相关:

  1. https://askubuntu.com/questions/178567/how-to-add-a-program-as-a-startup-application-from-a-terminal
  2. https://askubuntu.com/questions/598195/how-to-add-a-script-to-startup-applications-from-the-command-line
  3. https://help.ubuntu.com/stable/ubuntu-help/startup-applications.html.en
  4. https://vitux.com/how-to-manage-startup-applications-in-ubuntu/
  5. https://www.shells.com/l/en-US/tutorial/How-to-Manage-Startup-Programs-on-Ubuntu-Linux
startup vnc
  • 1 个回答
  • 753 Views
Martin Hope
bejo
Asked: 2022-03-09 13:34:33 +0800 CST

systemd start stop 使用一个目标单元启用和禁用多个服务

  • 1

我创建了一个目标文件 /etc/systemd/system/watch-for-sync-need-all.target

[Unit]
Description=systemd target to group services for all folders that create a sync need by changes
After=multi-user.target
Wants=watch-for-sync-need@_sl_home_sl_.service
Wants=watch-for-sync-need@_sl_stream_sl_.service

[Install]
Also=watch-for-sync-need@_sl_home_sl_.service
Also=watch-for-sync-need@_sl_stream_sl_.service

其目的是能够启动、停止、启用或禁用所有在目标指定的systemd模板服务/etc/systemd/system/watch-for-sync-need@.service

[Unit]
Description=watch sync folders for changes then flag sync need and set rtcwake
BindsTo=watch-for-sync-need-all.target
After=watch-for-sync-need-all.target

[Service]
User=root
Group=root
Type=simple
ExecStart=/bin/bash /etc/custom/notify-on-change %i
Restart=on-failure
RestartSec=3

[Install]
WantedBy=watch-for-sync-need-all.target

如果它必须处理我的问题,我会发布 /etc/custom/notify-on-change 的调用脚本内容

#! /usr/bin/env bash

inotifywait -q -m -r -e modify,delete,create "${1//_sl_//}" | while read DIRECTORY EVENT FILE
do
    echo "yes" > /etc/custom/log/sync-needed
    bash /etc/custom/set-rtcwake
    systemctl stop watch-for-sync-need-all.target
done

如果文件夹 /home/ 或 /stream/ 发生更改,inotifywait 会注意到,标记同步需求,在即将到来的晚上 3 点设置计算机自我唤醒并停止服务。(如果标记了同步需要,则机器上有一个 cronjob 会在 3 点钟后的几分钟内同步到另一台计算机。计算机在不使用时会自行关闭。这样,我可以在我的计算机上工作并制作/home/ 或 /stream/ 中的更改,然后并且只有在那时才会自动开始同步。)

我的问题是,我无法充分启用我的目标。可以毫无问题地启动或停止目标。这意味着,两个“子”单元都在运行。启用不会发出任何警告并在目录 /etc/systemd/system/watch-for-sync-need-all.target.wants 中创建相应的链接,但是当我的机器启动时,“子”单元没有运行。新启动后,我得到以下输出

systemctl status watch-for-sync-need-all.target 

watch-for-sync-need-all.target - systemd target to group services for all folders that create a sync need by ch>
Loaded: loaded (/etc/systemd/system/watch-for-sync-need-all.target; indirect; vendor preset: enabled)
Active: inactive (dead)`enter code here`

或者

systemctl status watch-for-sync-need@_sl_home_sl.service

watch-for-sync-need@_sl_home_sl.service - watch sync folders for changes then flag sync need and set rtcwake
Loaded: loaded (/etc/systemd/system/watch-for-sync-need@.service; disabled; vendor preset: enabled)
Active: inactive (dead)

如何让 systemd 在系统启动时启动目标(所有“子”单元)?

systemd startup
  • 1 个回答
  • 385 Views
Martin Hope
kvdm.dev
Asked: 2022-01-13 09:37:55 +0800 CST

Ranger 文件管理器作为 shell 启动时的单例实例

  • 0

问题:
我使用zsh并在其配置文件中添加了一行在启动时启动ranger。

.zshrc

# A few other settings and commands.
ZSH_TMUX_AUTOSTART="true"
plugins=(tmux ...)

source ranger

由于它,每个新打开的(主要在tmux中)zsh 都会运行 ranger。

期望:
只有在没有运行的情况下才启动一个游侠进程。

如下所示:

if [[ ! -v RANGER_RUNNIG ]]; then
   export RANGER_RUNNING="true"
   source ranger
fi
zsh startup
  • 1 个回答
  • 227 Views
Martin Hope
DonaghCarey
Asked: 2021-12-04 03:44:47 +0800 CST

从 CLI 在 Debian Buster 上旋转显示

  • 2

我正在尝试在 ASUS TinkerBoard 上的 Debian(Buster) 版本上运行 AvaloniaUI 应用程序。我使用的显示器是 7 英寸 1920x1080p 触摸屏显示器。

该应用程序以类似纵向的模式运行(即它以 1080x1920 运行),所以我一直在尝试将显示器旋转到 以便应用程序可以这样运行。

使用 xrandr 旋转显示器并没有给我带来什么成功。当我执行时:

xrandr --output HDMI-1 --rotate left

或者

xrandr --output HDMI-1 --rotate right

它使屏幕短暂空白,但没有效果。我可以使用相同的命令反转屏幕,但这并不能完全解决问题。我还尝试使用 xrandr 和我发现但尚未成功的各种其他命令来更改分辨率。

我还尝试添加:

echo 1 > /sys/class/graphics/fbcon/rotate

到 /etc/rc.local 脚本。使用“echo 3”时,这实际上会导致启动时在屏幕上运行的命令成功旋转。但是,在启动到操作系统时,显示器不再旋转,而是恢复为“横向”(即 1920x1080)。尝试将其作为 shell 脚本或服务运行也未成功。

除了基本的“xrandr”命令之外,我似乎在网上找不到太多关于如何旋转显示器的信息。我为我糟糕的解释道歉,因为我对 Linux 还是比较陌生。

这是输出:

xrandr

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 255mm x 255mm

   1920x1080     60.00*+
   1024x600      60.04 +
   1600x900      60.00
   1440x810      59.98
   1360x768      59.80
   1280x720      60.00
   1152x648      60.01
   1024x576      59.97
   800x450       60.05

一个执行我期望的 xrandr 命令是:

xrandr --output HDMI-1 --rotate inverted

这成功地反转了屏幕。

debian startup
  • 1 个回答
  • 805 Views
Martin Hope
kalix
Asked: 2021-11-09 07:09:19 +0800 CST

switch_root: 执行失败 /sbin/init: 符号链接层级太多

  • 1

所以,最近我从头开始做 Linux 项目,我打开了多个终端,所以我继续制作它,不小心我在另一个终端选项卡(根)中键入了该行,它完全弄乱了符号链接!,我无法在 bash 上运行任何命令。

    case $(uname -m) in
 i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3
 ;;
 x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
 ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3
 ;;
esac

我在arch linux上,当我重新启动计算机时,也发生了内核恐慌,它说:“switch_root:执行/sbin/init失败:符号链接级别太多。”

有什么解决办法吗?我希望有人帮忙。

arch-linux startup
  • 1 个回答
  • 637 Views
Martin Hope
Bogey Jammer
Asked: 2021-10-30 14:28:09 +0800 CST

为什么 ssh.service 尽管被 systemd 启用,但在启动过程中不会自动启动?

  • 0

我在 Raspberry Pi 4 上使用 Debian 11(图片在这里找到)。sshd 已正确配置(我只编辑了 /etc/ssh/sshd_config,其余部分完全来自系统安装)并且在我手动启动时可以正常工作。但是它不会在启动时由 systemd 自动启动。sudo systemctl status sshd返回:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:sshd(8)
             man:sshd_config(5)

journalctl 的输出中没有与 ssh 相关的内容。

这是/lib/systemd/system/ssh.service的内容:

[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
RuntimeDirectory=sshd
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
Alias=sshd.service

文件sshd_not_to_be_run不存在。network.target处于活动状态。我还安装了 auditd 只是为了进行故障排除,它自动成功启动,但重启后 ssh.service 仍然死机。

我没有主意了……


更新:

我刚刚发现每次连接需求都会产生一个 sshd 进程。它由 systemd 自己管理,当一些外国计算机尝试连接到我的时,它清楚地打印在日志中:

oct. 30 13:09:30 RaspServeur systemd[1]: Started OpenBSD Secure Shell server per-connection daemon (117.68.2.55:45784).
░░ Subject: L'unité (unit) ssh@4-192.168.1.2:22-117.68.2.55:45784.service a terminé son démarrage
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ L'unité (unit) ssh@4-192.168.1.2:22-117.68.2.55:45784.service a terminé son démarrage, avec le résultat done.
oct. 30 13:09:30 RaspServeur audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=ssh@4-192.168.1.2:22-117.68.2.55:45784 comm="systemd" exe="/usr/lib/systemd/systemd" ho>
oct. 30 13:09:33 RaspServeur sshd[1861]: error: kex_exchange_identification: Connection closed by remote host
oct. 30 13:09:33 RaspServeur sshd[1861]: Connection closed by 117.68.2.55 port 45784
oct. 30 13:09:33 RaspServeur systemd[1]: ssh@4-192.168.1.2:22-117.68.2.55:45784.service: Succeeded.
░░ Subject: Unit succeeded
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit ssh@4-192.168.1.2:22-117.68.2.55:45784.service has successfully entered the 'dead' state.
oct. 30 13:09:33 RaspServeur audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=ssh@4-192.168.1.2:22-117.68.2.55:45784 comm="systemd" exe="/usr/lib/systemd/systemd" hos>

这就像 sshd 的并行安装存在默认配置。如果不手动启动 sshd.service,我自己的配置(例如要使用的特定端口号)将无法工作。但是我可以使用默认端口成功连接到那个影子 sshd,并且systemctl status sshd仍然报告一个死服务......

情况变得令人毛骨悚然,我现在只需两根手指即可擦除 SD 卡并安装另一个预配置较少的发行版的映像。

systemd startup
  • 2 个回答
  • 1784 Views
Martin Hope
Carucel
Asked: 2021-09-21 03:09:30 +0800 CST

Alpine Linux 启动脚本

  • 1

我有一个 USB 闪存驱动器,它可以将 Alpine Linux 引导到 RAM 内存中。

我希望在启动后直接运行脚本(登录到 WIFI 等)。那可能吗?

建议在里面放一个启动脚本/etc/local.d/UpdateIssue.start,但是我的U盘不包含这个文件夹/etc。只需在文件系统中启动脚本就足够了,然后我手动执行该文件。但是,我所看到的只是:

在此处输入图像描述

system-installation startup
  • 1 个回答
  • 672 Views
Martin Hope
Max Baldwin
Asked: 2019-12-28 06:48:29 +0800 CST

Debian Buster - UUID 不存在。掉壳问题

  • 1

我不知道我做了什么,但是当我启动时,我在 BusyBox 中收到了这条消息:

Give up waiting for root file system device. Common problems:
 -Boot args (cat /proc/cmdlines)
  -Check rootdelay= (did the system wait long enough?)
 -Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=eb253f2f-5fbd-4952-810a-2841b01e3425 does not exist. Dropping to a shell!

blkid返回这个:

/dev/sda1: LABEL="ESP" UUID="9C01-5EBA" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="74264bc4-8b04-48bc-8fc7-406f87a01438"
/dev/sda3: LABEL="Acer" UUID="826E03A86E0393D7" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="d770662a-4898-40e9-ba97-0d576451a126"
/dev/sda4: LABEL="Recovery" UUID="5624055124053611" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="a4611369-500b-4582-8af6-7a50a221f972"
/dev/sda5: UUID="eb253f2f-5fbd-4952-810a-2841b01e3425" TYPE="ext4" PARTUUID="30a44434-207e-44f6-a85e-ff516aed39b2"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/sda2: PARTLABEL="Microsoft reserved partition" PARTUUID="073584e1-fef1-420b-92b8-25bebfc7e809"

所以它应该可以工作,当我从 Grub 中的“恢复模式”启动系统时它确实可以工作。我只需要在某个时候按CTRL+ 。D但是当我像往常一样启动计算机时,它会直接进入 BusyBox。我不知道该怎么办,因为我已经浏览了许多论坛。

[编辑已解决] 我编辑/etc/default/grub并添加了破坏我的启动的行。删除它们,恢复正常。吸取的教训,不要改变你不知道的东西,跟踪你改变的东西......

debian startup
  • 1 个回答
  • 11946 Views
Martin Hope
Roy
Asked: 2019-08-30 10:19:42 +0800 CST

加密磁盘而无需登录输入密码

  • 0

我正在使用 eCryptfs 加密主目录,并希望在没有用户登录的情况下访问文件。程序 pam_mount 将自动挂载加密的文件系统,但似乎只有在用户登录时才会发生这种情况。有没有办法做这没有用户登录或打开自动登录?

我可能以错误的方式处理这个问题 - 我正在尝试将 python 程序作为静态显示运行,但不想将 python 代码暴露给可以将驱动器安装在另一台机器上并查看未加密文件的人。此应用程序使用 systemd 服务启动。

security startup
  • 2 个回答
  • 2641 Views
Martin Hope
rrd
Asked: 2019-08-28 07:01:51 +0800 CST

如何隐藏/禁用预先提示消息?

  • 3

当我们启动一个 GNU/linux 系统时,它会在标准输出上显示很多消息。然后,就在提示之前,它显示如下内容:

Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

我想隐藏该消息。我需要编辑哪个文件才能完成此操作?

configuration startup
  • 2 个回答
  • 530 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve