質問: ubuntu16.04スタートアップアプリケーションでの奇妙な動作 私はいくつかのスタートアップアプリケーションを持っています:user@host:~$ ls -l .config/autostart/ . . . . . . xxx.desktop . . . yyy.desktop . . . zzz.desktop . . . setxkbmap.desktop これらの中には、capslockを無効にするコマンドがあります。setxkbmap -option caps:noneまず、これらの起動コマンドのいずれかをsleepで編集しようとすると、機能しないようです。sleep 20; setxkbmap -option caps:noneまたは...sleep 20 && setxkbmap -option caps:none次に、すべての起動コマンドからsleepコマンドを削除し、caps lockの無効化コマンドをリストの一番上に置くと、機能しませんが、他のコマンドは機能します...スタートアップアプリケーションの外部のターミナルで実行された場合、すべてのコマンドは正常に機能するため、起動時に機能しない理由がわかりません。[〜#〜]更新[〜#〜]@ xen2050の回答に基づいて、私は彼が提案した方法を実行可能なソリューションに適合させました。 2つの起動コマンドには、次のフォームを使用しています。bash -c "sleep 20; specific_command"そして他のものは、私はデフォルトの起動コマンドとして残しました。マシンの起動が速く、caps lockの無効化コマンドが一貫して機能しているため、これは問題ありません。update 2追加の調査を行ったところ、capslockを無効にするにはxkbがおそらく最良の方法であることがわかりました。この質問はスタートアップアプリケーションに関するものだったので、受け入れられた答えは有効です。しかし、ubuntu16.04でcapslockキーを無効にする方法を探している人が他にいる場合は、次のヒントを参考にしてください。 https://askubuntu.com/questions/82837/how-do-i-make-the-caps-lock-key-a-third-shift-key https://askubuntu.com/questions/53038/how-do-i-remap-the-caps-lock-key https://unix.stackexchange.com/questions/90089/remapping-both-caps-lock-and-shiftcaps-lock-in-xkb /usr/share/x11/xkb/symbols/pcを編集しましたが、ユーザーオーバーライドを使用するのがおそらく正しい方法だと思います(@quixoticが提案したように): 異なるキーに再マップされたときにターミナルにpageupとpagedownを認識させる
回答: .desktopファイルは完全/通常のシェルでexec=コマンドを実行しないと思います。したがって、複数のコマンドを使用する場合は、それらのコマンドでシェルを明示的に実行する必要があります。たとえば、次のように機能するはずです。exec=sh -c "sleep 5; notify-send test-delay" またはあなたの場合:exec=sh -c "sleep 20; setxkbmap -option caps:none"