我需要开发一大组工具来从服务器命令行运行(即不是客户端 - 服务器架构)。系统不一定是高性能的;我只想要一些容易开发的东西。
我可以使用哪些技术构建从命令行运行的简单GUI?我只需要菜单,我可以在对话框中选择一行/复选框/输入自由文本。
编辑:忘记添加,访问Mysql(即可用的驱动程序)是必不可少的。
答案 0 :(得分:5)
Shell,带对话框,旧备用 - http://www.linuxjournal.com/article/2807
编辑 - 如果它与MySQL相关,请查看PERL-Tk和DBI。
答案 1 :(得分:3)
python + ncurses在这里是一个很好的组合。
答案 2 :(得分:2)
我喜欢使用re.pl
库中的perl Devel::REPL
来实现快速cli接口。在downvoting之前先阅读我的理由!
在这种类型的应用程序中,听起来您将进行查询类型的操作。这些自然适合“repl”风格的交互。 re.pl
为您提供所有好处,即命令编辑和历史记录。您需要编写的只是用户将调用的函数。好处是知道perl的用户会意识到他们可以use
任何已安装的模块来自行扩展系统的功能。在我的情况下,我使用re.pl
创建一个类似mysqlclient的工具来访问和显示以标准mysqlclient无法处理的方式压缩的数据。
我引用perl,因为它的DBI是最好的数据库抽象,它是我用过的......但理由可以扩展到其他工具。 python的repl或任何其他将提供相同的好处。
答案 3 :(得分:1)
您可以使用Mono for Linux并在C#.NET中编写程序,然后使其适用于Linux,因为Mono允许这样做。
答案 4 :(得分:1)
就图形命令行界面而言,最好的框架之一是ncurses。它抽象了与图形命令行应用程序相关的大部分丑陋。
答案 5 :(得分:1)
我不得不说,使用Python,因为我喜欢它。
但是基于文本的界面几乎不值得,因为在你查看细节之前它们似乎是个好主意:
ncurses不提供小部件集,只提供低级操作。上述问题的答案并不容易。
它确实表明,最近没有人考虑过基于键盘和文本的终端用户界面,或者这些都已经解决了。
Web界面已经解决了这些问题,实际上,如果您愿意,可以使用文本模式的Web浏览器。
像i(手机电话)这样的现代设备甚至便宜的手机都有一个足够好的网络浏览器。
编写一个使用非常简单的样式(少量图像,小Javascrfipt)的Web应用程序很容易,并且可以在各种设备上轻松工作。
所以我会说dmckee的评论“跟你所知道的一样”。
通过构建自己的基于终端的界面,您将长期将自己打入角落。