C++ 无权限登录时启动程序(fedora 20)

C++ 无权限登录时启动程序(fedora 20),c++,qt,login,fedora20,C++,Qt,Login,Fedora20,我目前正在使用Qt4.8开发一个带有“登录时启动”选项的应用程序。我目前的主要问题是,我似乎找不到一个合适的方法让程序在登录Linux后自行启动(在我的例子中是Fedora20) 我的程序应该能够在后台运行,而无需停止fedora的启动 我还想避免要求任何类型的管理员权限,因为我的应用程序不需要任何权限(除了此选项)。您可以将可执行文件保存在/etc/rc.d/rs或/etc/init.d文件夹中,以便在设备启动后自动启动 希望这有帮助 每个用户的主目录中都有一个.bashrc文件,您可以在该文

我目前正在使用Qt4.8开发一个带有“登录时启动”选项的应用程序。我目前的主要问题是,我似乎找不到一个合适的方法让程序在登录Linux后自行启动(在我的例子中是Fedora20)

我的程序应该能够在后台运行,而无需停止fedora的启动


我还想避免要求任何类型的管理员权限,因为我的应用程序不需要任何权限(除了此选项)。

您可以将可执行文件保存在/etc/rc.d/rs或/etc/init.d文件夹中,以便在设备启动后自动启动


希望这有帮助

每个用户的主目录中都有一个
.bashrc
文件,您可以在该文件末尾附加一个命令来运行应用程序

只有该用户登录时才会运行(我认为可以使用图形或终端会话)

要为所有用户运行,请查看创建systemd服务(如果您敢的话),或者在/etc/rc.local的末尾追加一行。不过,你需要成为这方面的支持者

编辑:不要忘记在要在后台运行的命令末尾添加一个符号。

终于找到了关于“home/.config/autostart/.desktop”的信息

如果未创建autostart,我将不得不创建它,但根据用户的决定,我可以从中选择创建或删除文件

.desktop文件必须遵循特定的语法(这对我来说不是问题)

[桌面输入]
类型=应用程序
执行官=
隐藏=错误
NoDisplay=false
X-GNOME-Autostart-enabled=true
名字=
评论=

在我的例子中,我可以删除“comment”行,因为只有应用程序的名称就足以让用户识别它。

该程序应该在登录时为每个用户运行,还是只为安装它的用户运行?对于前者,您当然需要
sudo
电源,至少在安装过程中是这样。Tbh,我不认为首先需要通过您的程序来实现这一点。如果用户想要自动启动你的程序,他可以自己按照他想要/认为合适的方式来做。这是在任何特定的桌面环境下(比如GNOME或KDE)?@Baum mit Augen仅适用于安装它的用户。但既然他有选择权,那就不是真的安装了。此外,它只是为了使应用程序更加用户友好。我知道如果你使用linux系统,你应该对它有一些了解。。。但是我们可以说他们没有。@Mattdm不,这不是在任何特定的桌面环境下。现在我正在特别尝试fedora20。我的应用程序当前需要与其他应用程序一起保存在另一个文件夹中。我不能把所有的东西都移到那个文件夹。这通常是一个从头到尾都很糟糕的建议。它在Fedora上没有任何帮助,当然也不会在登录后启动程序。即使在Linux发行版上也应该有类似的功能,这些目录也不是用来直接删除可执行文件的。如果我在那里添加命令,fedora会等到我离开应用程序,这是不需要的,因为我希望它在后台运行。我将调整我的问题。您需要在命令末尾添加一个符号,例如:/usr/bin/myapp&这将在后台运行它。这适用于从任何脚本(或控制台)运行任何命令,而不是特定于启动脚本。答案相应更新。现在我的问题是,每次我启动终端时,我的应用程序都会启动它。。。(in.bashrc)
[Desktop Entry]
Type=Application
Exec=</path/to/binary or command to execute>
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=<Name_to_be_displayed>
Comment=<optional comment>