From 11035e9e29c3a3ef6adc2c40d37cfe0b9914649e Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Thu, 6 Oct 2016 12:10:24 +0200 Subject: First success: nxagent comes up via Forker.pm. --- bin/.placeholder | 0 ...st_arctica-services-graphics-nx3-client-desktop | 61 ++++++ ...t_arctica-services-graphics-nx3-client-seamless | 61 ++++++ ...est_arctica-services-graphics-nx3-client-shadow | 61 ++++++ ...st_arctica-services-graphics-nx3-server-desktop | 82 +++++++++ ...t_arctica-services-graphics-nx3-server-seamless | 61 ++++++ ...est_arctica-services-graphics-nx3-server-shadow | 61 ++++++ ...ca-services-graphics-nx3-client-scripts.install | 1 + ...ca-services-graphics-nx3-server-scripts.install | 1 + debian/control | 79 +++++++- ...ctica-services-graphics-nx3-client-perl.install | 1 + ...ctica-services-graphics-nx3-common-perl.install | 2 + ...libarctica-services-graphics-nx3-perl.substvars | 2 + ...ctica-services-graphics-nx3-server-perl.install | 1 + lib/Arctica/Services/Graphics/NX3/Client.pm | 65 +++++++ .../Services/Graphics/NX3/Client/Desktop.pm | 65 +++++++ .../Services/Graphics/NX3/Client/Seamless.pm | 65 +++++++ lib/Arctica/Services/Graphics/NX3/Client/Shadow.pm | 65 +++++++ lib/Arctica/Services/Graphics/NX3/Common.pm | 65 +++++++ lib/Arctica/Services/Graphics/NX3/Server.pm | 205 +++++++++++++++++++++ .../Services/Graphics/NX3/Server/Desktop.pm | 128 +++++++++++++ .../Services/Graphics/NX3/Server/Seamless.pm | 63 +++++++ lib/Arctica/Services/Graphics/NX3/Server/Shadow.pm | 63 +++++++ lib/Arctica/Services/Graphics/NX3/Version.pm | 2 + 24 files changed, 1256 insertions(+), 4 deletions(-) delete mode 100644 bin/.placeholder create mode 100755 bin/test_arctica-services-graphics-nx3-client-desktop create mode 100755 bin/test_arctica-services-graphics-nx3-client-seamless create mode 100755 bin/test_arctica-services-graphics-nx3-client-shadow create mode 100755 bin/test_arctica-services-graphics-nx3-server-desktop create mode 100755 bin/test_arctica-services-graphics-nx3-server-seamless create mode 100755 bin/test_arctica-services-graphics-nx3-server-shadow create mode 100644 debian/arctica-services-graphics-nx3-client-scripts.install create mode 100644 debian/arctica-services-graphics-nx3-server-scripts.install create mode 100644 debian/libarctica-services-graphics-nx3-client-perl.install create mode 100644 debian/libarctica-services-graphics-nx3-common-perl.install create mode 100644 debian/libarctica-services-graphics-nx3-perl.substvars create mode 100644 debian/libarctica-services-graphics-nx3-server-perl.install create mode 100644 lib/Arctica/Services/Graphics/NX3/Client.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Client/Desktop.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Client/Seamless.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Client/Shadow.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Common.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Server.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Server/Desktop.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Server/Seamless.pm create mode 100644 lib/Arctica/Services/Graphics/NX3/Server/Shadow.pm diff --git a/bin/.placeholder b/bin/.placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/bin/test_arctica-services-graphics-nx3-client-desktop b/bin/test_arctica-services-graphics-nx3-client-desktop new file mode 100755 index 0000000..5e3ba78 --- /dev/null +++ b/bin/test_arctica-services-graphics-nx3-client-desktop @@ -0,0 +1,61 @@ +#!/usr/bin/perl -T + +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ diff --git a/bin/test_arctica-services-graphics-nx3-client-seamless b/bin/test_arctica-services-graphics-nx3-client-seamless new file mode 100755 index 0000000..5e3ba78 --- /dev/null +++ b/bin/test_arctica-services-graphics-nx3-client-seamless @@ -0,0 +1,61 @@ +#!/usr/bin/perl -T + +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ diff --git a/bin/test_arctica-services-graphics-nx3-client-shadow b/bin/test_arctica-services-graphics-nx3-client-shadow new file mode 100755 index 0000000..5e3ba78 --- /dev/null +++ b/bin/test_arctica-services-graphics-nx3-client-shadow @@ -0,0 +1,61 @@ +#!/usr/bin/perl -T + +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ diff --git a/bin/test_arctica-services-graphics-nx3-server-desktop b/bin/test_arctica-services-graphics-nx3-server-desktop new file mode 100755 index 0000000..711037f --- /dev/null +++ b/bin/test_arctica-services-graphics-nx3-server-desktop @@ -0,0 +1,82 @@ +#!/usr/bin/perl -T + +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ + +use strict; +use File::Basename; +use Arctica::Services::Graphics::NX3::Version; +use Arctica::Services::Graphics::NX3::Server::Desktop; + +my $ACO = Arctica::Core::eventInit->new({ + app_name => basename($0), + app_class => 'arctica-service-testscript-server-desktop', + app_version=> '$Arctica::Services::Graphics::NX3::Version::VERSION' +}); + +my $NX3Server = Arctica::Services::Graphics::NX3::Server::Desktop->new($ACO,{ + display => ":1", + disabled_extensions => ["GLX","XFIXES"], + extra_options => [], +}); + +$NX3Server->start(); + +$ACO->{'Glib'}{'MainLoop'}->run; diff --git a/bin/test_arctica-services-graphics-nx3-server-seamless b/bin/test_arctica-services-graphics-nx3-server-seamless new file mode 100755 index 0000000..5e3ba78 --- /dev/null +++ b/bin/test_arctica-services-graphics-nx3-server-seamless @@ -0,0 +1,61 @@ +#!/usr/bin/perl -T + +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ diff --git a/bin/test_arctica-services-graphics-nx3-server-shadow b/bin/test_arctica-services-graphics-nx3-server-shadow new file mode 100755 index 0000000..5e3ba78 --- /dev/null +++ b/bin/test_arctica-services-graphics-nx3-server-shadow @@ -0,0 +1,61 @@ +#!/usr/bin/perl -T + +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ diff --git a/debian/arctica-services-graphics-nx3-client-scripts.install b/debian/arctica-services-graphics-nx3-client-scripts.install new file mode 100644 index 0000000..5bacc3d --- /dev/null +++ b/debian/arctica-services-graphics-nx3-client-scripts.install @@ -0,0 +1 @@ +bin/*client* usr/bin/ \ No newline at end of file diff --git a/debian/arctica-services-graphics-nx3-server-scripts.install b/debian/arctica-services-graphics-nx3-server-scripts.install new file mode 100644 index 0000000..0a0f28c --- /dev/null +++ b/debian/arctica-services-graphics-nx3-server-scripts.install @@ -0,0 +1 @@ +bin/*server* usr/bin/ \ No newline at end of file diff --git a/debian/control b/debian/control index 010d6aa..5ad30c3 100644 --- a/debian/control +++ b/debian/control @@ -14,16 +14,87 @@ Vcs-Git: https://github.com/ArcticaProject/perl-Arctica-Core Vcs-Browser: https://github.com/ArcticaProject/perl-Arctica-Core Standards-Version: 3.9.8 -Package: libarctica-services-graphics-nx3-perl +Package: libarctica-services-graphics-nx3-server-perl Architecture: all Depends: ${perl:Depends}, ${misc:Depends}, -Description: NXv3 Graphics Service for the Arctica Framework + libarctica-services-graphics-nx3-common-perl (=${binary:Version}), +Description: NXv3 Graphics Service for the Arctica Framework (server part) The Arctica Project brings forth a remote computing framework of enterprise grade and quality. The Arctica Framework is a highly modularized and thus pluggable for developing all sorts of remote services. . - Arctica Services Graphics NX3 provide remote graphical sessions - in desktop and rootless session mode. + Arctica Services Graphics NX3 provide remote graphical sessions in + desktop, seamless and shadow session mode. + . + This package provides the server-side part of this service. + +Package: libarctica-services-graphics-nx3-client-perl +Architecture: all +Depends: + ${perl:Depends}, + ${misc:Depends}, + libarctica-services-graphics-nx3-common-perl (=${binary:Version}), +Description: NXv3 Graphics Service for the Arctica Framework (client part) + The Arctica Project brings forth a remote computing framework of + enterprise grade and quality. The Arctica Framework is a highly + modularized and thus pluggable for developing all sorts of remote + services. + . + Arctica Services Graphics NX3 provide remote graphical sessions in + desktop, seamless and shadow session mode. + . + This package provides the client-side part of this service. + +Package: libarctica-services-graphics-nx3-common-perl +Architecture: all +Depends: + ${perl:Depends}, + ${misc:Depends}, +Description: NXv3 Graphics Service for the Arctica Framework (client part) + The Arctica Project brings forth a remote computing framework of + enterprise grade and quality. The Arctica Framework is a highly + modularized and thus pluggable for developing all sorts of remote + services. + . + Arctica Services Graphics NX3 provide remote graphical sessions in + desktop, seamless and shadow session mode. + . + This package provides code that is common to the server-side and + client-side module. + +Package: arctica-services-graphics-nx3-server-scripts +Architecture: all +Depends: + ${perl:Depends}, + ${misc:Depends}, + libarctica-services-graphics-nx3-server-perl (=${binary:Version}), +Description: NXv3 Graphics Service for the Arctica Framework (server test scripts) + The Arctica Project brings forth a remote computing framework of + enterprise grade and quality. The Arctica Framework is a highly + modularized and thus pluggable for developing all sorts of remote + services. + . + Arctica Services Graphics NX3 provide remote graphical sessions in + desktop, seamless and shadow session mode. + . + This package provides a set of server-side test scripts. + +Package: arctica-services-graphics-nx3-client-scripts +Architecture: all +Depends: + ${perl:Depends}, + ${misc:Depends}, + libarctica-services-graphics-nx3-client-perl (=${binary:Version}), +Description: NXv3 Graphics Service for the Arctica Framework (client test scripts) + The Arctica Project brings forth a remote computing framework of + enterprise grade and quality. The Arctica Framework is a highly + modularized and thus pluggable for developing all sorts of remote + services. + . + Arctica Services Graphics NX3 provide remote graphical sessions in + desktop, seamless and shadow session mode. + . + This package provides a set of client-side test scripts. diff --git a/debian/libarctica-services-graphics-nx3-client-perl.install b/debian/libarctica-services-graphics-nx3-client-perl.install new file mode 100644 index 0000000..94f542d --- /dev/null +++ b/debian/libarctica-services-graphics-nx3-client-perl.install @@ -0,0 +1 @@ +usr/share/perl*/Arctica/Services/Graphics/NX3/Client* diff --git a/debian/libarctica-services-graphics-nx3-common-perl.install b/debian/libarctica-services-graphics-nx3-common-perl.install new file mode 100644 index 0000000..958321a --- /dev/null +++ b/debian/libarctica-services-graphics-nx3-common-perl.install @@ -0,0 +1,2 @@ +usr/share/perl*/Arctica/Services/Graphics/NX3/Common* +usr/share/perl*/Arctica/Services/Graphics/NX3/Version.pm diff --git a/debian/libarctica-services-graphics-nx3-perl.substvars b/debian/libarctica-services-graphics-nx3-perl.substvars new file mode 100644 index 0000000..bcb0957 --- /dev/null +++ b/debian/libarctica-services-graphics-nx3-perl.substvars @@ -0,0 +1,2 @@ +perl:Depends=perl +misc:Depends= diff --git a/debian/libarctica-services-graphics-nx3-server-perl.install b/debian/libarctica-services-graphics-nx3-server-perl.install new file mode 100644 index 0000000..3fc528f --- /dev/null +++ b/debian/libarctica-services-graphics-nx3-server-perl.install @@ -0,0 +1 @@ +usr/share/perl*/Arctica/Services/Graphics/NX3/Server* diff --git a/lib/Arctica/Services/Graphics/NX3/Client.pm b/lib/Arctica/Services/Graphics/NX3/Client.pm new file mode 100644 index 0000000..6380147 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Client.pm @@ -0,0 +1,65 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Client; +use strict; + +use Arctica::Core::eventInit qw( genARandom BugOUT ); + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Client/Desktop.pm b/lib/Arctica/Services/Graphics/NX3/Client/Desktop.pm new file mode 100644 index 0000000..49da666 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Client/Desktop.pm @@ -0,0 +1,65 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Client::Desktop; +use strict; + +use Arctica::Core::eventInit qw( BugOUT ); + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Client/Seamless.pm b/lib/Arctica/Services/Graphics/NX3/Client/Seamless.pm new file mode 100644 index 0000000..b572626 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Client/Seamless.pm @@ -0,0 +1,65 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Client::Seamless; +use strict; + +use Arctica::Core::eventInit qw( BugOUT ); + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Client/Shadow.pm b/lib/Arctica/Services/Graphics/NX3/Client/Shadow.pm new file mode 100644 index 0000000..882e395 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Client/Shadow.pm @@ -0,0 +1,65 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Client::Shadow; +use strict; + +use Arctica::Core::eventInit qw( BugOUT ); + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Common.pm b/lib/Arctica/Services/Graphics/NX3/Common.pm new file mode 100644 index 0000000..036559c --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Common.pm @@ -0,0 +1,65 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Common; +use strict; + +use Arctica::Core::eventInit qw( BugOUT ); + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Server.pm b/lib/Arctica/Services/Graphics/NX3/Server.pm new file mode 100644 index 0000000..0ead6df --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Server.pm @@ -0,0 +1,205 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Server; +use strict; + +use Arctica::Core::eventInit qw( genARandom BugOUT ); +use Arctica::Core::ManageDirs qw( create_new_adir ); +use Arctica::Core::Mother::Forker; + +sub new { + + BugOUT(9,"NX3::Server new->ENTER"); + my $class_name = $_[0];# Be EXPLICIT!! DON'T SHIFT OR "@_"; + my $arctica_core_object = $_[1]; + my $the_tmpdir = $arctica_core_object->{'a_dirs'}{'tmp_adir'}; + + my $dev_conf = $_[2]; + + # sanitize parameters (or fail) + + # display: X11 display address (e.g. ":1", "localhost-ipv6:50", etc.) + my $display = $dev_conf->{'display'}; + # FIXME: check provided value + + # bind_address: hostname, IPv6 address, IPv4 address, path to Unix file socket, special keyword "local" + my $bind_address = $dev_conf->{'bind_address'}; + # FIXME: check provided value + + # bind_port: positive integer between 1025 and 60000 + my $bind_port = $dev_conf->{'bind_port'}; + # FIXME: check provided value + + # disabled_extensions: list of extensions that shall be disabled at NXv3 agent startup + my $disabled_extensions = $dev_conf->{'disabled_extensions'}; + # FIXME: check provided value list + + # extra_options: list of additional NXv3 agent command line options + my $extra_options = $dev_conf->{'extra_options'}; + # FIXME: check provided value list + + # instantiate the NXv3 agent forker + my $forking_child = Arctica::Core::Mother::Forker->new($arctica_core_object, { + child_name => 'nxagent', + fork_style => 'interactive_pty', +# handle_stdout => \&my_stdout_handler, + handle_stderr => \&stderr2BugOUT_handler, +# handle_death => \&my_death_handler, + return_stdin => 0, + exec_hold => 1, + env_strict => 1, + env_pass => { + 'ARCTICA' => 1, + 'DISPLAY' => 1, + 'HOME' => 1, + 'TEMP' => 1, + 'USER' => 1, + 'XAUTHORITY' => 1, + }, + env_set => { + 'NX_CLIENT' => '/usr/bin/arctica-services-graphics-nx3-server-callback', # nxagent callback handler +# 'NX_HOME' => '', # don't set!!! +# 'NX_ROOT' => $nx_root, # will be set the next moment, see below... +# 'NX_SYSTEM' => '', # don't set!!! + 'NX_TEMP' => '/tmp', # set NX_TEMP to /tmp, make sure nxagent + # starts when pam_tmpdir.so is in use + }, + exec_path => "/usr/bin/nxagent", + exec_cl_argv => [ "-nolisten", "tcp", "-ac", $display ], +# on_exit => \&my_on_exit_handler, +}); + + # create NX_ROOT directory + my $nx_root = $forking_child->new_empty_dir(); + $forking_child->envset_append('NX_ROOT', $nx_root); + + BugOUT(2,"Creating new NXv3 server object"); + + my $self = { + isArctica => 1, # Declare that this is an Arctica "something" + aobject_name => "Graphics_NX3_Server", + aobject_id => genARandom("id"), + mode => '', + display => $display, + bind_address => $bind_address, + bind_port => $bind_port, + disabled_extensions => $disabled_extensions, + extra_options => $extra_options, + forker => $forking_child, + }; + + bless($self, $class_name); + + $arctica_core_object->{'aobj'}{'Services'}{$self->{'aobject_name'}}{$self->{'aobject_id'}} + = \$self; + + BugOUT(9,"NX3::Server new->DONE"); + + return $self; +} + + +sub reconfigure { +} + +sub start { + + BugOUT(8,"Services::Graphics::Server::NX3 about to start()..."); + my $self = $_[0]; + + $self->{'forker'}->run_child(); + +} + +sub stop { + + BugOUT(8,"Services::Graphics::Server::NX3 about to stop()..."); + my $self = $_[0]; + + $self->{'forker'}->signal('SIGTERM'); + +} + +sub resume { + + BugOUT(8,"Services::Graphics::Server::NX3 about to resume()..."); + my $self = $_[0]; + + # FIXME: check statefile and only if state is SUSPENDED: + $self->{'forker'}->signal('SIGHUP'); + +} + +sub suspend { + + BugOUT(8,"Services::Graphics::Server::NX3 about to suspend()..."); + my $self = $_[0]; + + # FIXME: check statefile and only if state is RUNNING: + $self->{'forker'}->signal('SIGHUP'); + +} + +sub stderr2BugOUT_handler { + BugOUT (2, "$_[0]\n"); +} + + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Server/Desktop.pm b/lib/Arctica/Services/Graphics/NX3/Server/Desktop.pm new file mode 100644 index 0000000..d5c8b29 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Server/Desktop.pm @@ -0,0 +1,128 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Server::Desktop; +use strict; + +use Arctica::Core::eventInit qw( BugOUT ); + +use Arctica::Services::Graphics::NX3::Server; + +sub new { + + BugOUT(9,"NX3::Server::Desktop new->ENTER"); + + my $class_name = $_[0];# Be EXPLICIT!! DON'T SHIFT OR "@_"; + my $arctica_core_object = $_[1]; + + my $self = Arctica::Services::Graphics::NX3::Server::new(@_); + + # START + $self->{'_start'} = \&_start; + + # STOP + $self->{'_stop'} = \&_stop; + + # RESUME + $self->{'_resume'} = \&_resume; + + # SUSPEND + $self->{'_suspend'} = \&_suspend; + + # RECONFIGURE + $self->{'_reconfigure'} = \&_reconfigure; + + bless($self, $class_name); + + BugOUT(9,"NX3::Server::Desktop new->DONE"); + + return $self; +} + +sub start { + + Arctica::Services::Graphics::NX3::Server::start(@_); + +} + +sub stop { + + Arctica::Services::Graphics::NX3::Server::stop(@_); + +} + +sub resume { + + Arctica::Services::Graphics::NX3::Server::resume(@_); + +} + +sub suspend { + + Arctica::Services::Graphics::NX3::Server::suspend(@_); + +} + +sub reconfigure { + + Arctica::Services::Graphics::NX3::Server::reconfigure(@_); + +} + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Server/Seamless.pm b/lib/Arctica/Services/Graphics/NX3/Server/Seamless.pm new file mode 100644 index 0000000..7ac6d61 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Server/Seamless.pm @@ -0,0 +1,63 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Server::Seamless; +use strict; + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Server/Shadow.pm b/lib/Arctica/Services/Graphics/NX3/Server/Shadow.pm new file mode 100644 index 0000000..5b68254 --- /dev/null +++ b/lib/Arctica/Services/Graphics/NX3/Server/Shadow.pm @@ -0,0 +1,63 @@ +################################################################################ +# _____ _ +# |_ _| |_ ___ +# | | | ' \/ -_) +# |_| |_||_\___| +# _ _ ____ _ _ +# / \ _ __ ___| |_(_) ___ __ _ | _ \ _ __ ___ (_) ___ ___| |_ +# / _ \ | '__/ __| __| |/ __/ _` | | |_) | '__/ _ \| |/ _ \/ __| __| +# / ___ \| | | (__| |_| | (_| (_| | | __/| | | (_) | | __/ (__| |_ +# /_/ \_\_| \___|\__|_|\___\__,_| |_| |_| \___// |\___|\___|\__| +# |__/ +# The Arctica Modular Remote Computing Framework +# +################################################################################ +# +# Copyright (C) 2015-2016 The Arctica Project +# http://http://arctica-project.org/ +# +# This code is dual licensed: strictly GPL-2 or AGPL-3+ +# +# GPL-2 +# ----- +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# AGPL-3+ +# ------- +# This programm is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2015-2016 Guangzhou Nianguan Electronics Technology Co.Ltd. +# +# Copyright (C) 2015-2016 Mike Gabriel +# +################################################################################ +package Arctica::Services::Graphics::NX3::Server::Shadow; +use strict; + +1; diff --git a/lib/Arctica/Services/Graphics/NX3/Version.pm b/lib/Arctica/Services/Graphics/NX3/Version.pm index ccd002d..7c8dcb3 100644 --- a/lib/Arctica/Services/Graphics/NX3/Version.pm +++ b/lib/Arctica/Services/Graphics/NX3/Version.pm @@ -63,3 +63,5 @@ use strict; use vars qw[$VERSION]; $VERSION = '0.0.0.1'; + +1; -- cgit v1.2.3