开发一个 Linux 下 GUI 程序,要能按钮实现启动 Oracle,启动 ETL,查看 Oracle 的 status,关闭 Oracle。
不要跟我说命令多么简单或者 shell 开机自动启动脚本多么容易,这些我都知道。现在就是我们部门有一台自己的服务器,搭建的 APEX 报表,之前一直是我维护,关闭,重启之类的。现在我转调以后,就基本没人会了。有时候重启都很棘手。所以领导要求开发一个桌面应用,Linux 的 GUI 程序,要一个傻瓜式的操作,点击一个启动 Oracle按钮,就能自动启动之类的。
这个按钮直接对应一个 shell 脚本,点击就运行脚本之类的? 这个程序是放在 Linux 平台中的。我接触桌面应用开发很少,之前学过 PYQT,但是好像 pyqt 打包后太臃肿;所以来请教各位大佬们,这种情况下我该怎么实现这个需求?
Python or Java or C#( C#只是看过,如果框架确实很方便的话,我可以去学)
1
fbcll 2019-09-19 15:57:15 +08:00
WPF 貌似还不能跑在 Linux 下。
|
3
hefish 2019-09-19 16:03:28 +08:00
十来年前,有个 Borland 的 JBuilder,好像开发 java 下的 gui 挺方便,现在不知道 javaFX 之类的东西,开发起来方便不。
|
6
arrow8899 2019-09-19 16:04:51 +08:00
不一定要桌面应用啊,web 更方便,搭一个 spring 直接执行 shell 即可,前端只要简单的 html 就搞定了
|
7
Humorce 2019-09-19 16:05:27 +08:00 via iPhone
既然有 de/wm 的话
直接把你这些按钮对应的脚本在一个文件夹建 shortcut 就好了 |
8
Cooky 2019-09-19 16:07:34 +08:00 via Android
Python pyside2 or pyqt5
有设计器,信号连接 省事 |
10
knva 2019-09-19 16:10:19 +08:00
java 写呗
|
12
Yourshell 2019-09-19 16:16:18 +08:00 via iPhone
pyqt 臃肿领导又看不见,第一步是能用就好。
|
13
hwenwur 2019-09-19 16:16:21 +08:00 via Android
樓主考慮 web 的話,可以在 pyqt 里嵌套瀏覽器,或者直接用 electron 寫
|
14
zjsxwc 2019-09-19 16:19:09 +08:00
把 Jenkins 拿过来用吧,现成的
|
15
Bryan0Z 2019-09-19 16:24:31 +08:00 via Android
JavaFX 很方便,有工具的,拖拖拽拽 GUI 就出来了
|
16
littlespider89 2019-09-19 16:25:44 +08:00
electron 最简单
|
17
langhuishan 2019-09-19 16:42:03 +08:00
pyqt 啊,现在给公司做 ERP 二次开发,方便的很。你那只是一个按钮,直接绑定启动代码,简单的很。
|
18
superalsrk 2019-09-19 17:59:13 +08:00
pyqt javafx 太重了, 这种需求 直接 tkinter , 虽然丑是丑了点
|
19
chengxiao 2019-09-19 18:21:08 +08:00
pyqt 真不觉得重在哪里...打包也很方便
|
20
wikinee 2019-09-19 18:34:34 +08:00
不用 PyGobject ?里面有 GLib,Gtk
|
21
smdbh 2019-09-19 18:37:19 +08:00
whiptail ?
|
22
fengshils 2019-09-19 18:40:53 +08:00
直接 tkinter 岂不更好 写完打完可执行文件完事 关键是轻量 足够用就好
|
23
ipwx 2019-09-19 18:44:18 +08:00
只要一个按钮,为啥不学习一下 C++,直接用 Qt。反正又花不了多少时间,一个下午就搞定了。。
甚至你可以去搞个 Gtk 的 demo 改改就好了,C 语言就可以。 |
24
ipwx 2019-09-19 18:44:41 +08:00
对还有 22L 老哥说的,Python 直接 tkinter 不就行了。
|
25
reus 2019-09-19 19:20:38 +08:00
qt 哪里重了
|
26
reus 2019-09-19 19:21:16 +08:00
pyqt 重那就不要用 pyqt,直接 C++写,甚至直接给个 qml 文件用 qmlscene 跑
|
27
JamesMackerel 2019-09-19 19:50:55 +08:00 via iPhone
@arrow8899 似乎看见了一个命令注入 RCE 的现场。
|
28
yrand 2019-09-19 19:56:13 +08:00
打包又不用你把库打进去,做个 deb 自动装依赖不就行了。
|
29
axeojpwt 2019-09-19 19:59:36 +08:00
用 qt,就这功能的话现学现写一天可以搞完
|
30
jakezh 2019-09-19 21:13:02 +08:00
老哥们都再说啥呢。。用 python tkinter 写个界面 里面一个按钮对应一个 bash script 不就行了。。。。。。。。
|
31
unionx 2019-09-19 22:40:46 +08:00
写个简单的 web 界面其实挺好的,html/css/js 三件套基本都会嘛
|
32
wbing 2019-09-20 00:01:53 +08:00 via iPhone
同建议 qt,建个新项目拖动个按钮再跳转到槽,然后 system 函数调用你的脚本,几步就搞定,打包也简单。唯一花时间的可能就只是装开发环境了
|
33
Hellert 2019-09-20 00:15:15 +08:00 via Android
Lazarus(free pascal)
|
34
kingfalse 2019-09-20 00:22:09 +08:00 via Android
Java 分分钟搞定
|
36
kingfalse 2019-09-20 00:24:32 +08:00 via Android
外包吗? 100 块明天交货
|
37
aaniao002 2019-09-20 02:56:58 +08:00 via Android
浏览器 html 写两个按钮,custom protocol 映射 xdg 映射脚本。貌似这样写的代码是最少的。
|
38
ClericPy 2019-09-20 06:44:27 +08:00
从实现简单的角度来看:
python 比较容易 1. 不在乎颜值但是强烈在乎实现复杂度的话 pysimplegui 2. 稍微在乎颜值 wxpython, 已经稳定支持 python3 3. 特别在乎颜值, 直接 web UI 4. 在乎颜值但是不喜欢启动 http server, pyqt 话说都用上 linux 了, 为什么不搞 command line ui, pip install fire 就搞定了 |
40
Chenamy2017 2019-09-20 08:57:07 +08:00
QT 了解下,50 块外包今天交货
|
41
izoabr 2019-09-20 08:58:44 +08:00
干脆让重启系统好了,写 rc.local
|
42
openthinks 2019-09-20 09:07:25 +08:00
强烈推荐 QT, 楼上也有人说了
|
43
Meridian 2019-09-20 09:58:33 +08:00
jenkins 行吗
|
44
quan01994 2019-09-20 10:03:31 +08:00
可以用 mono 进行开发。gtk, winform,应该可以符合你的要求。
|
45
hoyixi 2019-09-20 10:10:23 +08:00
PyQt or Java Swing
快捷方便 |
46
janus77 2019-09-20 10:20:42 +08:00
做成 web 页 然后用 electron 等等的包一层就可以了。
|
47
Rwing 2019-09-20 10:28:06 +08:00
c# 的 winform 也可以用 mono 跑在 linux 下,可以尝试一下
https://www.mono-project.com/docs/gui/winforms/ |
48
hallwoodzhang 2019-09-20 10:32:41 +08:00
qt(C++, Python)或者 electron(JS, C++)是个人认为最良好的 GUI 开发跨平台方案
|
49
xavier007 2019-09-20 10:36:50 +08:00
为什么不做成 web 管理工具,毕竟 Linux 一般都不安装桌面的,如果远程连接还需要开发服务端和客户端,不如直接做成 web
|
50
blacklinux 2019-09-20 10:44:07 +08:00
如果只是做非常简单的东西 直接用 python 自带的 tkinter 就行了,简单好学
|
51
myhot21 2019-09-20 10:50:09 +08:00 via Android
linux 下的 gui 工具,很多都是用 java swing 来做的,跨平台很不错,就是上手有点难度。
|
52
qsnow6 2019-09-20 10:52:27 +08:00
tkinter,脚本写好的情况下,分分钟完事
|
53
ps1aniuge 2019-09-20 12:01:08 +08:00
47 楼正解。用 c#开发一个图形界面,多么复杂都行,编译成 exe,
在 linux 下 用 mono aaaa.exe 即可运行。win 下也可以运行。 点击按钮后,调用 shell 的 xxx.sh |
54
b00tyhunt3r 2019-09-20 14:33:22 +08:00 via iPhone
楼主外包不?一上午写完
|
55
Gatsbywl OP |
56
hoyixi 2019-09-23 10:11:14 +08:00
#55 @Gatsbywl
打包成可执行 jar 就行。不过要保证目标系统也装有 JRE。Win 下好像有第三方的打包工具打成 exe,而且可以把 JRE 一起打包。 |
57
dallaslu 2019-12-09 16:47:55 +08:00
|