我正在Ubuntu linux下编写一些小的bash脚本.我希望能够从GUI运行它们,而无需终端窗口输入任何输入或查看任何输出.
到目前为止,唯一需要的输入是sudo的密码 - 而gksudo处理得很好.但我还没有找到一种简单的方法来显示消息框.是否有某种"gkmessage"命令可用?我更喜欢默认的Ubuntu安装中存在的东西,但我不介意在必要时安装新的包.
成功配置后,使用剪切进行退出
gclosure.c:29:17: fatal error: ffi.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
我安装了libffi,并找到ffi.h给出:
/home/luca/gcc4.6/gcc-4.6.0/libffi/include/ffi.h.in
/usr/include/x86_64-linux-gnu/ffi.h
/usr/share/doc/ghc-doc/html/users_guide/ffi.html
/usr/share/doc/libffi5/html/Using-libffi.html
Run Code Online (Sandbox Code Playgroud) 有人可以建议今天这些图书馆的最佳用途是什么吗?它只是GUI,还是有数据库,XML,网络,线程等支持?
我正在阅读他们,并考虑开始学习/使用其中一个.
什么是最常见的?他们之间有什么区别?你为什么选择一个而不是另一个?
我需要确定在Ubuntu上安装了哪个版本的GTK +
男人似乎没有帮助
我的问题非常类似于Ubuntu上Eclipse中的 Stack Overflow问题Gigantic Tabs.
我尝试了所提出的解决方案,但它们看起来很旧.我找到了一个很好地处理工具栏和菜单的解决方案,但没有一个解决方案可以减少窗格内不成比例的大标签(和标签)的大小和填充(请参阅下面屏幕中的"Package Explorer"选项卡).
我很满意我的OS范围GTK主题的定制方式,并且不想改变它.是否有快速修复以减少Eclipse中窗格的选项卡大小?
我在Ubuntu 12.04上使用Eclipse for Mobile Developers(Juno).我还要提到我非常喜欢Eclipse在Windows 7中出现的方式,所以类似的东西是理想的.
以下是我正在使用的eclipse特定GTK样式:
style "eclin" {
GtkButton::default_border={1,1,1,1}
GtkButton::default_outside_border={1,1,1,1}
GtkButtonBox::child_min_width=0
GtkButtonBox::child_min_heigth=0
GtkButtonBox::child_internal_pad_x=0
GtkButtonBox::child_internal_pad_y=0
GtkMenu::vertical-padding=1
GtkMenuBar::internal_padding=1
GtkMenuItem::horizontal_padding=4
GtkToolbar::internal-padding=1
GtkToolbar::space-size=1
GtkOptionMenu::indicator_size=0
GtkOptionMenu::indicator_spacing=0
GtkPaned::handle_size=4
GtkRange::trough_border=0
GtkRange::stepper_spacing=0
GtkScale::value_spacing=0
GtkScrolledWindow::scrollbar_spacing=0
GtkExpander::expander_size=10
GtkExpander::expander_spacing=0
GtkTreeView::vertical-separator=0
GtkTreeView::horizontal-separator=0
GtkTreeView::expander-size=12
GtkTreeView::fixed-height-mode=TRUE
GtkWidget::focus_padding=0
font_name="Liberation Sans,Sans Regular 8"
}
class "GtkWidget" style "eclin"
style "eclin2" {
xthickness=1
ythickness=1
}
class "GtkButton" style "eclin2"
class "GtkToolbar" style "eclin2"
class "GtkPaned" style "eclin2"
Run Code Online (Sandbox Code Playgroud)
以下是我的IDE与巨大标签一起显示的截图:
我想为我的脚本制作一些图形对话框,但不知道如何.我听说过有关GTK-Server或类似的东西.如果有人知道如何将Bash与tcl/tk联系起来,我也会感到满意.
请不要发布类似"更改为C++"的内容,因为我的项目必须是Bash中的脚本; 没有其他选择.
有任何想法吗?
编辑:
谢谢你的答案,但我不希望控制台中的颜色"图形",但我可以移动的图形窗口,最小化等我会测试xmessage
,但我不认为这将是我正在寻找的.
编辑2: 我不想做一个简单的对话,如是/否,但有一些界面,如进度条和按钮,类似于游戏.
我们有一个使用Swing的Java应用程序,但我们正在将它迁移到JavaFX.因此,我们将旧的Swing代码包装成SwingNode
s并逐步替换它们.
在迁移之前,Swing应用程序用作com.sun.java.swing.plaf.gtk.GTKLookAndFeel
外观(Ubuntu上的默认设置).我们使用以下代码进行设置(如果可用):
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if (info.getClassName().equals("com.sun.java.swing.plaf.gtk.GTKLookAndFeel")) {
UIManager.setLookAndFeel(info.getClassName());
}
}
Run Code Online (Sandbox Code Playgroud)
这很好.然而,在切换到JavaFX后,调用UIManager.setLookAndFeel()
冻结应用程序,没有任何反应.需要手动设置外观,因为我们仍然需要设置尚未根据文件迁移到JavaFX的Swing组件的样式GTKLookAndFeel
.
进一步的信息:这只是不起作用com.sun.java.swing.plaf.gtk.GTKLookAndFeel
,因为它在使用时起作用javax.swing.plaf.metal.MetalLookAndFeel
,javax.swing.plaf.nimbus.NimbusLookAndFeel
或com.sun.java.swing.plaf.motif.MotifLookAndFeel
.
我们可以做些什么来使用它GTKLookAndFeel
来设计我们的Swing组件SwingNode
?
我无法找到一种方法来更改Eclipse中自动完成框中突出显示的选择的颜色.
从截图中可以看出,浅灰色背景上的白色文字不是很易读.
使用Unity和Eclipse Classic的Ubuntu 11.10
更新:这确实是系统相关的.更改Ubuntu主题会更改此颜色.有关于此的设置/usr/share/themes/Ambiance/
,但我无法弄清楚哪一个.背景是渐变,因此选择颜色并为其添加灰色不起作用.
我有一个用Glade(3.18)构建的GUI,它由Python 3程序调用(使用PyGObject).运行程序(Fedora 21)时,我收到很多警告:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Run Code Online (Sandbox Code Playgroud)
我该如何修复此警告?我尝试Transient for: main_window
在Glade中填写所有对话窗口的字段,但警告仍然出现.
当我在GTK中创建一个自定义对话框(GTK2或GTK3)并将其设置为模态时,我的应用程序的其他窗口的所有输入都将被忽略.这几乎总是有效,但在某些条件下会失败.
当我将包含TreeView的ScrolledWindow添加到我的对话框时,它仍然可以正常工作.但是,如果我用条目填充TreeView,直到ScrolledWindow开始显示其滚动条 - 模态突然丢失,我可以点击我的其他窗口!
这是我能够设置的最基本的例子.它是用Vala编写的,但你会明白这个想法:
class MyDialog: Gtk.Dialog {
public MyDialog() {
this.modal = true;
var data = new Gtk.ListStore(1, typeof(string));
// increase this number -- the dialog is not modal anymore!
for (int i=0; i<2; ++i) {
Gtk.TreeIter current;
data.append(out current);
data.set(current, 0, "Lorem Ipsum");
}
var render = new Gtk.CellRendererText();
var column = new Gtk.TreeViewColumn();
column.pack_start(render, true);
column.add_attribute(render, "text", 0);
var treeview = new Gtk.TreeView.with_model(data);
treeview.append_column(column);
treeview.show();
var scroll = new Gtk.ScrolledWindow(null, null);
scroll.set_size_request(100, …
Run Code Online (Sandbox Code Playgroud)