[Tails-dev] Modifying Tails-greeter to work outside of Tails

Delete this message

Reply to this message
Author: adrian15
Date:  
To: tails-dev@boum.org
Subject: [Tails-dev] Modifying Tails-greeter to work outside of Tails
Last year I already tried to make tails-greeter to work with (Jessie
- 1) and I sent you an email.

https://mailman.boum.org/pipermail/tails-dev/2015-February/008051.html

Later on I talked to intrigeri on Debconf15 and he gave me some
advice on how I was supposed to do this.

Anyways I'll try to summarize it:

A. I develop Rescatux ( http://www.supergrubdisk.org/rescatux/ and I
need something at boot so that the final user can select a keyboard in a
gui so that it gets setup and can be used.
B. tails-greeter among other things let the user choose a keyboard and
setups it.
C. tails-greeter cannot easily be ported out of Tails.

So, what I have been trying to do is to tweak minimally tails-greeter
so that it meets my needs. The final purpose of these tweaks is to
convince you that some of them are useful for tails-greeter so that you
include into its upstream code.

My tweaks are not perfect and thus there are some doubts which I need
to clarify with you. Let's start.

1. tails-greeter Rescatux branch

The branch can be found here:

https://github.com/rescatux/tails-greeter/tree/rescatux_0.40b8

2. Configuration files for enabling / disabling features. (Python)

When I talked to Intrigeri he pointed me to:
https://git-tails.immerda.ch/whisperback/tree/whisperBack/whisperback.py?h=feature/jessie
which used in turn config.py which was loaded from different places.

As I have noticed that tails-greeter now has config.py I have just
modified it as you can see in:
https://github.com/rescatux/tails-greeter/commit/863b13b7378b21af70783d36b61d5a8254a74675
.

So I have added these boolean variables:

* tails_persistence_support
* tails_show_welcome_message

which are self explanatory.

2.1. Are those names correct or do you prefer them to be written in
another way? Or with another name?
2.2. I guess I should add more Tails specific features such as the one
about physical security.
2.3. I personally only use the Keyboard feature. Do you think there are
other options which could be useful for Debian by default?

3. user user instead of amnesia user .

https://github.com/rescatux/tails-greeter/commit/f04280192440db280d53414e7cde99bc3017e52d
Debian Live default user is 'user', not 'amnesia'.
So that's a clear setting that should be set by Tails.

4. Configuration files for enabling / disabling features. (Bash)

4.1. One important part of tails-greeter is the PostLogin script from
gdm3 which it's written in bash.

https://github.com/rescatux/tails-greeter/commit/56b6a047f7f01dc09b85578f8df4c1542a0515d9

https://github.com/rescatux/tails-greeter/commit/b7228693581c1a15c6b2ae2dd0bfe59f963d9692

https://github.com/rescatux/tails-greeter/commit/c7c60689602fa7238e1ccc27480ecabd9bd234b6

https://github.com/rescatux/tails-greeter/commit/8735df7017279708eec8c8509be422c6c7c75157

4.2. So as I was advised by intrigeri I rewrote the different tasks into
functions. I modified the code so that these functions were run
conditioned to some boolean variables.

4.3. I finally changed their values so that by default only localization
task was run.

4.4. I guess you would want another bash file to be sourced if someone
wants to config / modify it to suit their needs. But which filename path
exactly?

5. Apart from the tails-greeter branch with my changes, the fact that
tails-greeter was changed from (Jessie - 1) to Jessie I also had to
modify some files from the Debian Live project itself.

5.1.
https://github.com/rescatux/rescatux/commit/f073ad5cd60fa6e85fe71d7f75f4c494c8dd8c68

5.2. And add some new packages:

https://github.com/rescatux/rescatux/commit/e38cc70fa8cd3ddf7701137d1e4c5f28d971b928

which increase the CD size by 60 or 70 MB.

(This is more a Rescatux question than focusing to try to 'port'
tails-greeter into Debian)

Do you know by any chance if there are any specific packages asked by
tails-greeter dependencies which might not be needed if you only want
localisation support ?

5.3. You seem to define metacity as compulsory. Why do we need a window
manager if there are no windows involved? I mean... I don't see a bar
above them to be able to move them.

Maybe what I am trying to ask you is:

Can I use another window manager such as the default one that comes in
Rescatux / LXDE instead of metacity? Or is there anything specific on
gdm3 or tails-greeter that needs that specific metacity window manager ?





Well, hopefully, I have not forgotten anything.

Waiting for your feedback.

Thank you.


adrian15
--
Support free software. Donate to Super Grub Disk. Apoya el software
libre. Dona a Super Grub Disk. http://www.supergrubdisk.org/donate/