我正在尝试制作一个仅包含我需要的软件的最小 Ubuntu 系统。我决定为此使用 Ubuntu 服务器 14.04 并安装 openbox 作为 GUI。我还设置了 nginx 以在系统上与 php 配合使用。我设置 Web 服务器的主要目的是通过按下 html 按钮通过服务器在我的系统上打开 GUI 应用程序。
我的目标是让电脑连接到电视,然后能够使用手机控制电视。我觉得最简单的方法是在需要时通过网站启动我需要的应用程序,因为我无论如何都会在电脑上安装服务器
我可以确认 Web 服务器和 PHP 运行正常。但是我无法启动应用程序。我使用以下代码来获取按下按钮时的输出
<?php
if ($_GET['buton']) {
echo exec("kodi 2>&1", $output);
echo $output;
<?
<div id="button"><a href="?kodi=true">kodi</a></button>
结果是
ERROR: Unable to create application. Exiting
目前,我正在虚拟机中运行它,以确保在将其安装到物理机器上之前一切正常。
如果有人能帮助我解决这个问题我将非常感激。
答案1
首先,不要重新发明轮子。有各种各样的应用程序可以让你的手机充当无线键盘/鼠标。例如(这些只是我碰巧知道的,还有负载):
你还有类似的东西科迪(以前称为 XBMC)将您的计算机变成可以满足您需求的媒体中心。
如果您仍然希望自己设置某些内容,则需要允许用户nginx
连接到现有的 X 会话。您还需要手动登录一次(或将机器设置为自动登录到 GUI)。您实际上可以让服务器启动 X 会话,但让用户这样做更有意义,这样您的所有设置等都在那里。
允许其他用户连接到您的 X 会话。
您需要运行
xhost +
以禁用访问控制。最简单的方法是将该命令添加到您的~/.profile
。编辑~/.profile
并添加以下行:## Only run this when logging in graphically [ -z "$DISPLAY" ] && xset +
您需要告诉您的 php 应用程序
DISPLAY
要连接到哪个。例如:<?php if ($_GET['button']) { $cmd = "export DISPLAY=:0; kodi"; exec($cmd); } ?> <div id="button"><a href="./a.php?button=1">kodi</a></div>
注意这是非常不安全的,使用风险自负。