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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1327789
Accepted
jay.sf
jay.sf
Asked: 2021-03-29 11:08:48 +0800 CST2021-03-29 11:08:48 +0800 CST 2021-03-29 11:08:48 +0800 CST

开机后如何自动运行一行或多行代码?

  • 772

实际上,我只想在启动后自动运行以下单行代码,从而启用天才eurkey键盘设置:

setxkbmap eurkey

遵循本指南(其原始示例没有问题),我执行了以下操作但没有成功:

# create systemd service file
$ sudo touch /etc/systemd/system/eurkey.service
$ sudo nano /etc/systemd/system/eurkey.service
  [Unit]
  After=network.service

  [Service]
  ExecStart=/usr/local/bin/eurkey.sh

  [Install]
  WantedBy=default.target

# create script
$ sudo touch /usr/local/bin/eurkey.sh
$ sudo nano /usr/local/bin/eurkey.sh 
  #!/bin/bash
  setxkbmap eurkey

# set permissions
$ sudo chmod 744 /usr/local/bin/eurkey.sh
$ sudo chmod 664 /etc/systemd/system/eurkey.service

# enable service unit
$ sudo systemctl daemon-reload
$ sudo systemctl enable eurkey.service

# reboot
$ sudo reboot

但是,代码不会执行。我错过了什么?为什么它适用于指南中的代码而不是我自己的代码行?我打算稍后添加任意数量的行(我称之为脚本)。这是错误的方法吗?

我在ask ubuntu上找到了一个非常相似的指南。

boot
  • 2 2 个回答
  • 312 Views

2 个回答

  • Voted
  1. Best Answer
    Adriaan
    2021-03-30T06:36:34+08:002021-03-30T06:36:34+08:00

    如果您想在 Gnome 启动时启动脚本,请查看此处。如果 X 服务器(还)没有运行,并且您没有(手动!)在 X 服务器启动后每次都启动终端,那么插入将setxkbmap无济于事。.bashrc警告:我没有尝试过任何一个“解决方案”,因为我验证了下面的解决方案并且它有效:

    如果您在系统上编辑两个文件(作为超级用户 - 小心!),您可以让每个用户自己配置布局,而不必再担心它:

    sudo nano /usr/share/X11/xkb/rules/evdev.xml
    

    并在变体 altgr-intl 下方插入以下内容:

        <variant>
          <configItem>
            <name>eu</name>
            <!-- Keyboard indicator for European layouts -->
            <shortDescription>eu</shortDescription>
            <description>EurKEY (US based layout with European letters)</description>
            <languageList>
              <iso639Id>cat</iso639Id>
              <iso639Id>dan</iso639Id>
              <iso639Id>eng</iso639Id>
              <iso639Id>est</iso639Id>
              <iso639Id>fao</iso639Id>
              <iso639Id>fin</iso639Id>
              <iso639Id>ger</iso639Id>
              <iso639Id>gre</iso639Id>
              <iso639Id>gsw</iso639Id>
              <iso639Id>ita</iso639Id>
              <iso639Id>lav</iso639Id>
              <iso639Id>lit</iso639Id>
              <iso639Id>nld</iso639Id>
              <iso639Id>nor</iso639Id>
              <iso639Id>por</iso639Id>
              <iso639Id>spa</iso639Id>
              <iso639Id>swe</iso639Id>
            </languageList>
          </configItem>
        </variant>
    

    (我取自/usr/share/X11/rules/evdev.extra.xml并替换layout为variant。请注意,缺少法语:如果您选择法语,您将找不到此变体(见下文)。)下一个编辑:

    sudo nano /usr/share/X11/xkb/rules/xorg.lst
    

    并在 altgr-intl 下方插入一行:

          eurkey          us: English (US based layout with European letters)
    

    您需要做的最后一件事是重新配置 xkb 数据:

    sudo dpkg-reconfigure xkb-data
    

    现在,用户将能够运行gnome-control-center(又名“设置”),转到“区域和语言”并添加键盘布局:

    gnome-control-center 中的语言选择

    English (United States)向下滚动很多后选择并查看:

    在此处输入图像描述

    选择 EurKEY 并且该用户完成,即使系统关闭并重新启动。换句话说:setxkbmap eu不再需要!


    EurKEY 的集成方式可能有问题。在setxkbmap eu我的 Ubuntu 20.04 上开箱即用,但我无法在任何地方找到它gnome-control-center(如果这就是 EurKEY 网站上的“键盘布局配置面板”的意思)。

    在他们的网站上,有一个eurkey.deb. 往里看(ar -x eurkey.deb和tar xvf control.tar.gz),我们发现了一个postinst脚本,它可以在/usr/share/X11/xkb/rules. 编辑与分发的不同,但我用它来看看他们是如何做到的。他们正在添加一个名为 的布局eu,但我不知道如何选择语言eu。再说一次,我不是专家。

    我们确实开发了一种更适合欧洲语言的替代方案altgr-intl,在此过程中,我们必须为新布局做类似的事情。

    适合所有人的键盘布局很难做出。EurKEY是在德国制造的,它显示:葡萄牙人经常使用 a-tilde 和 o-tilde,但它不在 EurKEY 上。我更喜欢我们的新altgr-weur,但我有偏见!

    • 2
  2. Rinzwind
    2021-03-29T11:54:26+08:002021-03-29T11:54:26+08:00

    但是,代码不会执行。我错过了什么?

    它确实如此,但它不会保持活动状态:您所做的可能会被 systemd 链中稍后发生的事情所覆盖。您需要尽可能晚地执行此操作,但是当您切换布局时这也将无法生存,并且每次切换键盘时都需要重做。

    你可以把

    setxkbmap eurkey
    

    在.bashrc做的最后

    vim ~/.bashrc 
    

    有工作方法,但这也不会在切换键盘后继续存在。

    如果这是一个问题,您发布的链接可以回答需要做什么:

    应用布局

    运行 setxkbmap

    setxkbmap eurkey
    

    或者从键盘布局配置面板中选择 EurKEY 。EurKEY 在以下语言的布局列表中可用

    最后一部分使其永久化,并且如果您切换键盘也将应用它。

    • 0

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve