我正在 Ubuntu 14.04 中工作,我有一个已编译的 C++ 应用程序。我得到名称为“program”的可执行文件。问题是这个程序使用 opencv 和套接字,那么如果我尝试在终端中执行它,如下所示:
./program
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
listener: socket: Operation not permitted
setsockopt: Bad file descriptor
Run Code Online (Sandbox Code Playgroud)
出现此错误是因为我使用套接字并且需要以 root 身份运行我的应用程序,所以我输入了以下内容:
sudo ./program
Run Code Online (Sandbox Code Playgroud)
这要求我的密码并且程序正常工作。
问题是我想在启动 Ubuntu 时自动运行这个“程序”,但它不起作用。我有另一个应用程序,名称是“camera”,它只使用opencv,没有套接字,那么我不需要以root身份运行。所以我把这个应用程序放在ubuntu的启动应用程序中,“相机”应用程序从一开始就毫无问题地启动。
所以我想我的问题是我需要以 root 身份运行我的“程序”,但我无法得到它。
有人可以帮助我吗?
非常感谢