diff options
author | Sebastian | 2016-04-25 12:01:08 +0200 |
---|---|---|
committer | Sebastian | 2016-04-25 12:01:08 +0200 |
commit | 5acda3eaeabae9045609539303a8c12c4ce401f1 (patch) | |
tree | 7e71975f8570b05aafe2ea6ec0e242a8912387bb /core/modules/netpoint-lightdm/data | |
parent | initial commit (diff) | |
download | mltk-5acda3eaeabae9045609539303a8c12c4ce401f1.tar.gz mltk-5acda3eaeabae9045609539303a8c12c4ce401f1.tar.xz mltk-5acda3eaeabae9045609539303a8c12c4ce401f1.zip |
merge with latest dev version
Diffstat (limited to 'core/modules/netpoint-lightdm/data')
13 files changed, 969 insertions, 0 deletions
diff --git a/core/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf b/core/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf new file mode 100644 index 00000000..3e78eb50 --- /dev/null +++ b/core/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf @@ -0,0 +1,164 @@ +# +# General configuration +# +# start-default-seat = True to always start one seat if none are defined in the configuration +# greeter-user = User to run greeter as +# minimum-display-number = Minimum display number to use for X servers +# minimum-vt = First VT to run displays on +# lock-memory = True to prevent memory from being paged to disk +# user-authority-in-system-dir = True if session authority should be in the system location +# guest-account-script = Script to be run to setup guest account +# logind-check-graphical = True to on start seats that are marked as graphical by logind +# log-directory = Directory to log information to +# run-directory = Directory to put running state in +# cache-directory = Directory to cache to +# sessions-directory = Directory to find sessions +# remote-sessions-directory = Directory to find remote sessions +# greeters-directory = Directory to find greeters +# +[LightDM] +#start-default-seat=true +#greeter-user=lightdm +#minimum-display-number=0 +minimum-vt=1 +#lock-memory=true +#user-authority-in-system-dir=false +guest-account-script=/usr/local/bin/guest-account +#logind-check-graphical=false +#log-directory=/var/log/lightdm +run-directory=/run/lightdm +#cache-directory=/var/cache/lightdm +#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions +#remote-sessions-directory=/usr/share/lightdm/remote-sessions + +greeters-directory=/usr/local/share/xgreeters:/usr/share/lightdm/greeters:/usr/share/xgreeters + +# +# Seat defaults +# +# type = Seat type (xlocal, xremote) +# pam-service = PAM service to use for login +# pam-autologin-service = PAM service to use for autologin +# pam-greeter-service = PAM service to use for greeters +# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +# xserver-layout = Layout to pass to X server +# xserver-config = Config file to pass to X server +# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +# xserver-share = True if the X server is shared for both greeter and session +# xserver-hostname = Hostname of X server (only for type=xremote) +# xserver-display-number = Display number of X server (only for type=xremote) +# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +# xdmcp-port = XDMCP UDP/IP port to communicate on +# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +# unity-compositor-command = Unity compositor command to run (can also contain arguments e.g. unity-system-compositor -special-option) +# unity-compositor-timeout = Number of seconds to wait for compositor to start +# greeter-session = example-greeter +# greeter-hide-users = True to hide the user list +# greeter-allow-guest = True if the greeter should show a guest login option +# greeter-show-manual-login = True if the greeter should offer a manual login option +# greeter-show-remote-login = True if the greeter should offer a remote login option +# user-session = Session to load for users +# allow-user-switching = True if allowed to switch users +# allow-guest = True if guest login is allowed +# guest-session = Session to load for guests (overrides user-session) +# session-wrapper = Wrapper script to run session with +# greeter-wrapper = Wrapper script to run greeter with +# guest-wrapper = Wrapper script to run guest sessions with +# display-setup-script = Script to run when starting a greeter session (runs as root) +# display-stopped-script = Script to run after stopping the display server (runs as root) +# greeter-setup-script = Script to run when starting a greeter (runs as root) +# session-setup-script = Script to run when starting a user session (runs as root) +# session-cleanup-script = Script to run when quitting a user session (runs as root) +# autologin-guest = True to log in as guest by default +# autologin-user = User to log in with by default (overrides autologin-guest) +# autologin-user-timeout = Number of seconds to wait before loading default user +# autologin-session = Session to load for automatic login (overrides user-session) +# autologin-in-background = True if autologin session should not be immediately activated +# exit-on-failure = True if the daemon should exit if this seat fails +# +[SeatDefaults] +#type=xlocal +#pam-service=lightdm +#pam-autologin-service=lightdm-autologin +#pam-greeter-service=lightdm-greeter +#xserver-command=X +#xserver-layout= +#xserver-config= +#xserver-allow-tcp=false +#xserver-share=true +#xserver-hostname= +#xserver-display-number= +#xdmcp-manager= +#xdmcp-port=177 +#xdmcp-key= +#unity-compositor-command=unity-system-compositor +#unity-compositor-timeout=60 + +greeter-session=netpoint + +greeter-hide-users=false +greeter-allow-guest=true +#greeter-show-manual-login=false +#greeter-show-remote-login=true +#user-session=default +#allow-user-switching=true +allow-guest=true + +guest-session=/usr/bin/icewm + +# Keine Ahnung session-wrapper=/etc/lightdm/Xsession + +#greeter-wrapper= +guest-wrapper=/usr/local/bin/guest-session +#display-setup-script= +#display-stopped-script= +#greeter-setup-script= +session-setup-script=/usr/local/bin/guest-setup +session-cleanup-script=/usr/local/bin/guest-cleanup +#autologin-guest=true +#autologin-user= +#autologin-user-timeout=0 +#autologin-in-background=false +#autologin-session=UNIMPLEMENTED +#exit-on-failure=false + +# +# Seat configuration +# +# Each seat must start with "Seat:". +# Uses settings from [SeatDefaults], any of these can be overriden by setting them in this section. +# +#[Seat:0] + +# +# XDMCP Server configuration +# +# enabled = True if XDMCP connections should be allowed +# port = UDP/IP port to listen for connections on +# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +# +# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively +# it can be a word and the first 7 characters are used as the key. +# +[XDMCPServer] +#enabled=false +#port=177 +#key= + +# +# VNC Server configuration +# +# enabled = True if VNC connections should be allowed +# command = Command to run Xvnc server with +# port = TCP/IP port to listen for connections on +# width = Width of display to use +# height = Height of display to use +# depth = Color depth of display to use +# +[VNCServer] +#enabled=false +#command=Xvnc +#port=5900 +#width=1024 +#height=768 +#depth=8 diff --git a/core/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager b/core/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager new file mode 100644 index 00000000..9a64a124 --- /dev/null +++ b/core/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager @@ -0,0 +1,113 @@ +## Path: Desktop/Display manager +## Type: string(Xorg) +## Default: "Xorg" +# +DISPLAYMANAGER_XSERVER="Xorg" +## Path: Desktop/Display manager +## Description: settings to generate a proper displaymanager config + +## Type: string(kdm,xdm,gdm,wdm,entrance,console,lightdm,sddm) +## Default: "" +# +# Here you can set the default Display manager (kdm/xdm/gdm/wdm/entrance/console). +# all changes in this file require a restart of the displaymanager +# +# DISPLAYMANAGER="kdm" +DISPLAYMANAGER="lightdm" + +## Type: yesno +## Default: no +# +# Allow remote access (XDMCP) to your display manager (xdm/kdm/gdm). Please note +# that a modified kdm or xdm configuration, e.g. by KDE control center +# will not be changed. For gdm, values will be updated after change. +# XDMCP service should run only on trusted networks and you have to disable +# firewall for interfaces, where you want to provide this service. +# +DISPLAYMANAGER_REMOTE_ACCESS="no" + +## Type: yesno +## Default: no +# +# Allow remote access of the user root to your display manager. Note +# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and +# System/Security/Permissions/PERMISSION_SECURITY is "paranoid" +# +DISPLAYMANAGER_ROOT_LOGIN_REMOTE="no" + +## Type: yesno +## Default: yes +# +# Let the displaymanager start a local Xserver. +# Set to "no" for remote-access only. +# Set to "no" on architectures without any Xserver (e.g. s390/s390x). +# +DISPLAYMANAGER_STARTS_XSERVER="yes" + +## Type: yesno +## Default: no +# +# TCP port 6000 of Xserver. When set to "no" (default) Xserver is +# started with "-nolisten tcp". Only set this to "yes" if you really +# need to. Remote X service should run only on trusted networks and +# you have to disable firewall for interfaces, where you want to +# provide this service. Use ssh X11 port forwarding whenever possible. +# +DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="no" + +## Type: string +## Default: +# +# Define the user whom should get logged in without request. If string +# is empty, display standard login dialog. +# +DISPLAYMANAGER_AUTOLOGIN="" + +## Type: yesno +## Default: no +# +# Allow all users to login without password, but ask for the user, if +# DISPLAYMANAGER_AUTOLOGIN is empty. +# +DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no" + +## Type: yesno +## Default: no +# +# Display a combobox for Active Directory domains. +# +DISPLAYMANAGER_AD_INTEGRATION="no" + +## Type: list(root,all,none,auto) +## Default: auto +# +# Determine who will be able to shutdown or reboot the system in kdm. Valid +# values are: "root" (only root can shutdown), "all" (everybody can shutdown), +# "none" (nobody can shutdown from displaymanager), "auto" (follow +# System/Security/Permissions/PERMISSION_SECURITY to decide: "easy local" is +# equal to "all", everything else is equal to "root"). gdm respects the +# PolicyKit settings for ConsoleKit. Shutdown configuration can be done via +# the polkit-default-privs mechanism. +# +DISPLAYMANAGER_SHUTDOWN="auto" +## Path: Desktop/Display manager +## Description: settings to generate a proper displaymanager config +## Config: kdm + +## Type: string +## Default: +# +# Defines extra Server Arguments given to the kdm display manager when +# starting a local display. Useful to override e.g. the -dpi setting. +# +DISPLAYMANAGER_KDM_LOCALARGS="" + +## Type: yesno +## Default: yes +# +# Allow local access of the user root to your display manager. Note +# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and +# System/Security/Permissions/PERMISSION_SECURITY is "paranoid". +# This settings currently works only with KDM. +# +DISPLAYMANAGER_ROOT_LOGIN_LOCAL="yes" diff --git a/core/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager b/core/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager new file mode 100644 index 00000000..12120320 --- /dev/null +++ b/core/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager @@ -0,0 +1,51 @@ +## Type: string +## Default: +## Path: Desktop +## Description: default mouse cursor theme +# +# Name of mouse cursor theme for X11. Possible themes can be found +# in /usr/share/icons/ +# +X_MOUSE_CURSOR="DMZ" +## Path: Desktop/Window manager +## Description: +## Type: string(gnome,kde4,kde,lxde,xfce,twm,icewm) +## Default: kde4 +## Config: profiles,kde,susewm +# +# Here you can set the default window manager (kde, fvwm, ...) +# changes here require at least a re-login +# DEFAULT_WM="kde-plasma" +DEFAULT_WM="xfce" + +## Type: yesno +## Default: yes +# +# install the SuSE extension for new users +# (theme and additional functions) +# +INSTALL_DESKTOP_EXTENSIONS="yes" +## Path: Desktop +## Description: prepare global sycoca database for faster first startup +## Type: list(yes,initial,no) +## Default: initial +# +# building a global sycoca database, which can be used at first user +# login in KDE +# +KDE_BUILD_GLOBAL_SYCOCA="initial" + +## Type: yesno +## Default: yes +# +# To disable IPv6 support within KDE. It might solve large timeouts due to +# broken servers which claim to have IPv6 support, but do not respond. +# +KDE_USE_IPV6="yes" + +## Type: yesno +## Default: yes +# +# IDN support can get disabled to avoid DNS phishing for example. +# +KDE_USE_IDN="yes" diff --git a/core/modules/netpoint-lightdm/data/usr/local/bin/guest-account b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-account new file mode 100644 index 00000000..3eed0efc --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-account @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "demo" diff --git a/core/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup new file mode 100755 index 00000000..32179cec --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup @@ -0,0 +1,8 @@ +#!/bin/sh + +IPTABLES=$(/usr/bin/which iptables) + +"$IPTABLES" -F +"$IPTABLES" -P INPUT ACCEPT +"$IPTABLES" -P FORWARD ACCEPT +"$IPTABLES" -P OUTPUT ACCEPT diff --git a/core/modules/netpoint-lightdm/data/usr/local/bin/guest-session b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-session new file mode 100755 index 00000000..2c22a68c --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-session @@ -0,0 +1,4 @@ +#!/bin/sh + +exec /usr/bin/icewm & +# exec /usr/bin/firefox diff --git a/core/modules/netpoint-lightdm/data/usr/local/bin/guest-setup b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-setup new file mode 100755 index 00000000..cb6791fc --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/bin/guest-setup @@ -0,0 +1,25 @@ +#!/bin/sh + +IPTABLES=$(/usr/bin/which iptables) + +# reset +"$IPTABLES" -F INPUT +"$IPTABLES" -F FORWARD +"$IPTABLES" -F OUTPUT + +if [ "x${USER}" = "xdemo" ]; then + # filter out the internetz + "$IPTABLES" -P INPUT DROP + "$IPTABLES" -P FORWARD DROP + "$IPTABLES" -P OUTPUT DROP + + # block internetz + "$IPTABLES" -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + "$IPTABLES" -A OUTPUT -d 132.230.0.0/16 -j ACCEPT + "$IPTABLES" -A OUTPUT -d 10.0.0.0/8 -j ACCEPT +else + "$IPTABLES" -P INPUT ACCEPT + "$IPTABLES" -P FORWARD ACCEPT + "$IPTABLES" -P OUTPUT ACCEPT + +fi diff --git a/core/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py b/core/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py new file mode 100755 index 00000000..635fb03f --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py @@ -0,0 +1,215 @@ +#!/usr/bin/python +# +# Author: Matt Fischer <matthew.fischer@canonical.com> +# Copyright (C) 2012 Canonical, Ltd +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. See http://www.gnu.org/copyleft/gpl.html the full text of the +# license. +# +# This code is based on the LightDM GTK Greeter which was written by: +# Robert Ancell <robert.ancell@canonical.com> + +# required packages: +# liblightdm-gobject-1-0 +# gir1.2-lightdm-1 +# python-gobject +# gir1.2-glib-2.0 +# gir1.2-gtk-3.0 + +from gi.repository import GObject +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GdkPixbuf +from gi.repository.GdkPixbuf import InterpType +from gi.repository import LightDM +import sys + +greeter = None + +main = None +split = None + +guest_box = None +guest_text = None +guest_button = None +guest_image = None + +login_box = None +login_text = None +user_box = None +user_text = None +user_username = None +pass_box = None +pass_text = None +pass_password = None + +prompt_box = None +prompt_label = None +prompt_entry = None +message_label = None + +# This Gtk signal is called when the user hits enter after entering a +# username/password or clicks the login button. Since we re-purposed +# the text entry box, we have 3 possible cases to handle here. +# 1) the user is already authenticated, if for example, they don't have +# a password set. +# 2) The username has been passed into LightDM and now we need to pass +# the password +# 3) The username has been entered, but not passed in. We pass it in +# and start the authentication process. +def login_cb(widget): + print >> sys.stderr, "login_cb" + if greeter.get_is_authenticated(): + print >> sys.stderr, "user is already authenticated, starting session" + #start_session() + elif greeter.get_in_authentication(): + print >> sys.stderr, "username was passed in already, send password to LightDM" + print >> sys.stderr, greeter.get_authentication_user() + greeter.respond(pass_password.get_text()) + else: + print >> sys.stderr, "Initial entry of username, send it to LightDM" + greeter.authenticate(user_username.get_text()) + +def guest_cb(widget): + print >> sys.stderr, "guest_cb" + if greeter.get_has_guest_account_hint(): + print >> sys.stderr, "Guest accounts supported" + greeter.authenticate_as_guest() + else: + print >> sys.stderr, "Guest accounts not supported" + + +# Gtk Signal Handlers +handlers = { + "login_cb": login_cb, + "guest_cb": guest_cb +} + +# The show_prompt callback is oddly named, but when you get this +# callback you are supposed to send the password to LightDM next. In +# our example, we re-purpose the prompt and ask the user for the +# password which is then sent the next time the user hits the Login +# button or presses enter. +def show_prompt_cb(greeter, text, promptType): + print >> sys.stderr, "Prompt type: " + str(promptType) + print >> sys.stderr, "Text: " + str(text) + # if this is a password prompt, we want to hide the characters + if promptType == LightDM.PromptType.SECRET: + pass_password.set_visibility(False) + else: + pass_password.set_visibility(True) + greeter.respond(pass_password.get_text()) + + +# If LightDM sends a message back to the greeter, for example, "Login +# failed" or "invalid password" we display it in our message box. +def show_message_cb(text, message_type): + print >> sys.stderr, "In show_message" + print >> sys.stderr, text + message_label.set_text(text) + message_label.show() + +# Callback for after we send LightDM the password, this method +# has to handle a successful login, in which case we start the session +# or a failed login, in which case we tell the user +def authentication_complete_cb(greeter): + if greeter.get_is_authenticated(): + # For our simple example we always start Unity-2d. The LightDM + # API has ways to query available sessions, please see the docs. + if not greeter.start_session_sync("xfce"): + print >> sys.stderr, "Failed to start session" + else: + print >> sys.stderr, "Login failed" + message_label.set_text("LOGIN FAILED") + message_label.show() + +if __name__ == '__main__': + print >> sys.stderr, "Starting up..." + main_loop = GObject.MainLoop () + builder = Gtk.Builder() + greeter = LightDM.Greeter() + styler = Gtk.CssProvider() + css = open('/usr/local/share/lightdm/netpoint.css', 'r') + + css_data = css.read() + css.close() + styler.load_from_data(css_data) + Gtk.StyleContext.add_provider_for_screen( + Gdk.Screen.get_default(), + styler, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + ) + + # connect signal handlers to LightDM + greeter.connect ("authentication-complete", authentication_complete_cb) + greeter.connect ("show-message", show_message_cb) + greeter.connect ("show-prompt", show_prompt_cb) + + # connect builder and widgets + # you probably really want to put your .UI file somewhere else + builder.add_from_file("/usr/local/share/lightdm/netpoint.glade") + + main = builder.get_object("main") + split = builder.get_object("split") + sep = builder.get_object("sep") + message_label = builder.get_object("message_label") + print >> sys.stderr, message_label + guest_box = builder.get_object("guest_box") + + guest_outer_box = builder.get_object("guest_outer_box") + guest_internal_box = builder.get_object("guest_internal_box") + guest_text = builder.get_object("guest_text") + guest_button = builder.get_object("guest_button") + guest_image = builder.get_object("guest_image") + login_image = builder.get_object("login_image") + #pixbuf = guest_image.get_pixbuf() + #pixbuf = pixbuf.scale_simple(pixbuf.get_width() * 0.7, pixbuf.get_height() * 0.7, InterpType.HYPER) + #guest_image.set_from_pixbuf(pixbuf) + #pixbuf = login_image.get_pixbuf() + #pixbuf = pixbuf.scale_simple(pixbuf.get_width() * 0.7, pixbuf.get_height() * 0.7, InterpType.HYPER) + #login_image.set_from_pixbuf(pixbuf) + + login_box = builder.get_object("login_box") + login_text = builder.get_object("login_text") + + user_box = builder.get_object("user_box") + user_text = builder.get_object("user_text") + user_username = builder.get_object("user_username") + + pass_box = builder.get_object("pass_box") + pass_text = builder.get_object("pass_text") + pass_password = builder.get_object("pass_password") + + # connect signals to Gtk UI + builder.connect_signals(handlers) + + # connect to greeter + greeter.connect_sync() + + message_label.hide() + + # setup the GUI + main.set_decorated(True) + main.get_root_window().set_cursor(Gdk.Cursor.new(Gdk.CursorType.ARROW)) + main.show() + guest_text.show() + guest_button.show() + login_text.show() + user_text.show() + user_username.grab_focus() + user_username.show() + pass_text.show() + pass_password.set_sensitive(True) + pass_password.set_visibility(False) + pass_password.show() + + # fullscreen it + main.resize(Gdk.Screen.width(), Gdk.Screen.height()) + + #print >> sys.stderr, guest_box.get_height() + #print >> sys.stderr, guest_box.get_width() + main_loop.run () diff --git a/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png Binary files differnew file mode 100644 index 00000000..f3b81c32 --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png diff --git a/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png Binary files differnew file mode 100644 index 00000000..f6e4703d --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png diff --git a/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css new file mode 100644 index 00000000..7f1f80af --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css @@ -0,0 +1,16 @@ +#main { + background-color: white; +} +#sep { + -GtkWidget-wide-separators: 1; + -GtkWidget-separator-width: 5; + border-style: solid; + border-width: 2px; + color: grey; +} +#title { + border-top-style: solid; + border-bottom-style: double; + border-width: 3px; + border-color: grey; +} diff --git a/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade new file mode 100644 index 00000000..e2e47416 --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade @@ -0,0 +1,365 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.12"/> + <object class="GtkWindow" id="main"> + <property name="name">main</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="window_position">center-always</property> + <property name="default_width">800</property> + <property name="default_height">600</property> + <property name="decorated">False</property> + <property name="gravity">center</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="label1"> + <property name="name">title</property> + <property name="height_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Netpoint 0.1</property> + <attributes> + <attribute name="font-desc" value="Sans Bold 18"/> + </attributes> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">False</property> + <property name="vexpand">True</property> + <child> + <object class="GtkSeparator" id="separator1"> + <property name="name">sep</property> + <property name="width_request">10</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">False</property> + <property name="row_homogeneous">True</property> + <child> + <object class="GtkBox" id="guest_box"> + <property name="name">guestbox</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">False</property> + <property name="vexpand">False</property> + <property name="orientation">vertical</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkBox" id="box4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="guest_text"> + <property name="height_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Uni-interner Browser</property> + <property name="justify">center</property> + <attributes> + <attribute name="font-desc" value="Sans Bold 14"/> + </attributes> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">center</property> + <property name="hexpand">False</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Im Gastmodus können Sie nur auf universitätsinterne Webseiten zugreifen.</property> + <property name="justify">center</property> + <property name="wrap">True</property> + <property name="width_chars">0</property> + <property name="max_width_chars">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="guest_button"> + <property name="label" translatable="yes">Surfen als Gast</property> + <property name="use_action_appearance">False</property> + <property name="related_action"/> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <signal name="clicked" handler="guest_cb" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkImage" id="guest_image"> + <property name="name">guest_image</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">10</property> + <property name="margin_right">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="pixbuf">ff-rz-smaller.png</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_homogeneous">True</property> + <child> + <object class="GtkBox" id="box3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkBox" id="box5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="login_text"> + <property name="height_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Internet Browser</property> + <property name="justify">center</property> + <attributes> + <attribute name="font-desc" value="Sans Bold 14"/> + </attributes> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="login_info"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">start</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Melden Sie sich mit Ihrem RZ-Konto, um auch im Internet zu surfen.</property> + <property name="justify">center</property> + <property name="wrap">True</property> + <property name="width_chars">0</property> + <property name="max_width_chars">30</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">center</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkGrid" id="grid3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="row_spacing">3</property> + <property name="column_spacing">3</property> + <child> + <object class="GtkEntry" id="pass_password"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="progress_pulse_step">0</property> + <signal name="activate" handler="login_cb" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="pass_text"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Passwort:</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="user_text"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Username:</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="user_username"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <signal name="activate" handler="login_cb" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="message_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" comments="This is a placeholder string and will be replaced with a message from PAM">[message]</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkImage" id="login_image"> + <property name="name">login_image</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">10</property> + <property name="margin_right">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="pixbuf">ff-google-smaller.png</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> +</interface> diff --git a/core/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop b/core/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop new file mode 100644 index 00000000..f03cf498 --- /dev/null +++ b/core/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Name=Netpoint Grita +Comment=Netpoint Grita +Exec=/usr/local/bin/netpoint.py +Type=Application |