Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
keys
38 changes: 20 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
# Remote-Linux-Unlocker
Remote Linux Unlocker is an android application paired with a linux daemon that allows users to unlock and lock the Ubuntu Unity lock screen.

### How to install the android application
Install the android application from the [Google Play Store](https://play.google.com/store/apps/details?id=com.maxchehab.remotelinuxunlocker) or download the source from this repository.
Remote Linux Unlocker is an android application paired with a linux daemon that allows users to unlock and lock the Ubuntu Unity lock screen.

### How to install the linux daemon
## How to install the android application

```sh
$ wget https://github.com/maxchehab/remote-linux-unlocker/raw/master/linux-daemon/linux-daemon.zip
Install the android application from the zip file (download command below) or download the source from this repository.

$ unzip linux-daemon.zip
> [!NOTE]
> Until this PR is merged, replace the wget command below with
> ```diff
> - wget https://github.com/maxchehab/remote-linux-unlocker/raw/master/linux-daemon/linux-daemon.zip
> + wget https://github.com/DitherDude/remote-linux-unlocker/raw/master/linux-daemon/linux-daemon.zip
> ```

$ cd linux-daemon
## How to install the linux daemon

```console
user@machine:~/Downloads$ wget https://github.com/maxchehab/remote-linux-unlocker/raw/master/linux-daemon/linux-daemon.zip
user@machine:~/Downloads$ unzip linux-daemon.zip
user@machine:~/Downloads$ cd linux-daemon
#edit `unlocker-daemon.service` so that the absolute path to unlocker-daemon.py is correct
#run the below commands as sudo!
root@machine:.../linux-daemon# cp unlocker-daemon.service /etc/systemd/system/unlocker-daemon.service
root@machine:~# systemctl daemon-reload
root@machine:~# systemctl enable unlocker-daemon
root@machine:~# systemctl start unlocker-daemon

$ mv unlocker-daemon.service /etc/systemd/system/unlocker-daemon

$ sudo systemctl daemon-reload

$ sudo systemctl enable unlocker-daemon

$ sudo systemctl start unlocker-daemon

$ ./remote-linux-pair
user@machine:.../linux-daemon$ ./remote-linux-pair
```

3 changes: 3 additions & 0 deletions android-application/RemoteLinuxUnlocker/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1,138 changes: 1,138 additions & 0 deletions android-application/RemoteLinuxUnlocker/.idea/caches/deviceStreaming.xml

Large diffs are not rendered by default.

18 changes: 1 addition & 17 deletions android-application/RemoteLinuxUnlocker/.idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions android-application/RemoteLinuxUnlocker/.idea/deviceManager.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions android-application/RemoteLinuxUnlocker/.idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions android-application/RemoteLinuxUnlocker/.idea/migrations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 2 additions & 12 deletions android-application/RemoteLinuxUnlocker/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 0 additions & 9 deletions android-application/RemoteLinuxUnlocker/.idea/modules.xml

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 19 additions & 14 deletions android-application/RemoteLinuxUnlocker/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,35 +1,40 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
compileSdkVersion 36
// buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.maxchehab.remotelinuxunlocker"
minSdkVersion 15
targetSdkVersion 25
minSdkVersion 26
targetSdkVersion 36
vectorDrawables.useSupportLibrary = true
versionCode 1
versionName "1.0"
versionName "2.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
namespace = "com.maxchehab.remotelinuxunlocker"
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'de.hdodenhof:circleimageview:2.1.0'
testCompile 'junit:junit:4.12'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.google.code.gson:gson:2.13.2'
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'de.hdodenhof:circleimageview:3.1.0'
testImplementation 'junit:junit:4.13.2'
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.maxchehab.remotelinuxunlocker",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 1,
"versionName": "2.0",
"outputFile": "app-release.apk"
}
],
"elementType": "File",
"minSdkVersionForDexing": 26
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.maxchehab.remotelinuxunlocker">

<manifest xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.FOREGROUND_SERVICE"
tools:ignore="ForegroundServicesPolicy" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
Expand All @@ -14,30 +14,41 @@
android:theme="@style/AppTheme">
<activity
android:name=".ComputerListActivity"
android:label="Remote Linux Unlocker">
android:label="Remote Linux Unlocker"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".PairingActivity" />
<activity android:name=".SettingsActivity" />

<activity android:name=".LockComputer" android:label="Lock My Computer">
<activity android:name=".LockComputer" android:label="Lock My Computer" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


<activity android:name=".UnlockComputer" android:label="Unlock My Computer">
<activity android:name=".UnlockComputer" android:label="Unlock My Computer" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".PersistenceService"
android:enabled="true"
android:exported="false" />

<receiver android:name=".PersistenceReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
</application>

</manifest>
Loading