gujjwal00 / avnc Goto Github PK
View Code? Open in Web Editor NEWVNC Client for Android
License: GNU General Public License v3.0
VNC Client for Android
License: GNU General Public License v3.0
Thank you very much for AVNC!! And also thank you for putting it on F-Droid!
This is by far the best VNC-Client for Android I've seen so far.
I would appreciate very much if it was possible to manually sort the list of known servers. As an alternative it would be helpful to sort the servers in alphabetical order.
Thank you!
Finally I've found a VNC client with PT_BR keyboard full support! Thank you!
I'm using Samsung DeX and avnc doesn't enter in fullscreen mode (which is selected in configs). There's always a top bar with minimize and close buttons and the apps bar on screen bottom.
I think what I want it is called "immersive mode" in Android. So this app would be perfect to use with Andronix in PT_BR.
I don't see a way to show the keyboard, but I see one in your screenshots. How do I get the keyboard show?
Samsung, Android 11
> Task :app:lintVitalRelease
/home/vagrant/build/com.gaurav.avnc/app/src/main/res/values-sr/strings.xml:84: Error: "pref_discovery_restart" is translated here but not found in default locale [ExtraTranslation]
<string name="pref_discovery_restart">Поново покрени</string>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/vagrant/build/com.gaurav.avnc/app/src/main/res/values-pt-rBR/strings.xml:144: Error: "pref_discovery_restart" is translated here but not found in default locale [ExtraTranslation]
<string name="pref_discovery_restart">Reiniciar</string>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/vagrant/build/com.gaurav.avnc/app/src/main/res/values-fa/strings.xml:152: Error: "pref_discovery_restart" is translated here but not found in default locale [ExtraTranslation]
<string name="pref_discovery_restart">شروع مجدد</string>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Explanation for issues of type "ExtraTranslation":
If a string appears in a specific language translation file, but there is
no corresponding string in the default locale, then this string is probably
unused. (It's technically possible that your application is only intended
to run in a specific locale, but it's still a good idea to provide a
fallback.)
Note that these strings can lead to crashes if the string is looked up on
any locale not providing a translation, so it's important to clean them
up.
3 errors, 0 warnings
> Task :app:lintVitalRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
...
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Could you please take a look? Thanks!
When I try to use Shift in any keyboard shortcuts, it seems to be recognized as a capital letter modifier first. For example, when I try to use "Ctrl+Shift+K" in VScode, it goes into "Ctrl+K Ctrl+Shift+". I tried another VNC viewer and Shift can perform functionally in that.
The virtual keyboard sends the keydown and keyup events for Shift
, Ctrl
, and Alt
separately.
This makes it possible for a user to send the keydown event for a modifier and then exit before sending the keyup.
On my computer (KDE neon 5.22, X server 1.20.9, kernel 5.4.0-77-generic), this results in all input events being handled as if those modifier keys were pressed. I can only fix it by manually sending the keyup event for the correct modifier key.
I have created a pull request that solves this by dispatching the keyup events for Shift_R, Control_R, and Alt_R in VncActivity.onStop.
Hello again my friend @gujjwal00 . I was testing the function of controlling the cursor via touch, however, I could not scroll the content using two fingers. Regardless of the relationship setting, the two fingers zoom in or out of the remote server area. Follow the video demonstrating. Hugs
On bVNC, I can copy and paste bidirectionally from client (Android 12) and host (Debian 10).
Om AVNC, I can copy only from host (Debian 10) to client (Android 12). Sometimes, rarely, it will work both ways for just an instant.
Setup:
Debian 10 running on proot on top of termux on Android 12 with tigervnc 1.9.0
Steps to reproduce
(I haven't tested outside of proot)
This is my xstartup
#!/bin/bash
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
export PULSE_SERVER=127.0.0.1
touch $HOME/.Xauthority
export XAUTHORITY=$HOME/.Xauthority
vncconfig SendPrimary=0
echo $$ > /tmp/xsession.pid
. $HOME/.xsession
vnconfig &
was ran and the proper settings are set.
What is super weird is that if I check a box in the VNC config window, the clipboard from Android will update the clipboard in Linux, but only once. Trying copy/paste again from Android to Linux and it wont work. If I check a box again in the VNC config window, the clipboard will update again from Android to Linux.
It is possible I am just stupid, and an extra step is needed for AVNC, and bVNC just does things differently.
Hi. Love your VNC app. We have a Samsung Dex community in Brazil with over 5,000 active users in a telegram group who are clamoring for writing and Portuguese support. It is possible to add accent support and the "AltGr + Q" and "AltGr + W" keys so that we can use the characters "/" and "?". Below is a picture of the keyboard in portuguese brazil ABNT2 layout that is the standard of the TabS7/6. Thanks.
Hello again,
Under the input settings, I'm trying to use:
Unfortunately, changing the Drag setting causes
me to be unable to perform a long press. I'm guessing that when I attempt a long press, my fingers can't stay still long enough so Drag gets triggered instead of just Long Press.
Can there please be an increased tolerance (whether a setting or just baked into the app) to allow both long press and drag to be used? For example, maybe if X and Y of the cursor hasn't changed by more than ~5 pixels in 500 ms then Long Press, Drag if otherwise?
I am using AVNC to connect to a remote Linux desktop., connecting from a device with a hardware built-in keyboard (Cosmo) and pressing the ESC key ends AVNC immediately. I can reconnect, but using a desktop without ESC is sometimes difficult.
I understand ESC is "special" in Android and you have to code around it - this is something that e.g. Termux does and offers an option to capture and pass the key to the terminal.
Thanks for the otherwise great vnc client
It works just fine in MultiVNC (another Android VNC client), but not in AVNC. When I try to connect I get "Disconnected".
Log:
log.txt
Hello,
I'm trying to grasp what the numbers repesent for the min/max zoom. Is it a percentage of the geometry of the vnc server? Setting both min and max zoom to 100% seems to disable zooming as expected, but it leaves about 50% (I'm eyeballing this) of my screen filled with unused black pixels.
As potential feature requests:
I am using tigervnc server with an uncommon geometry of 720x1280, so maybe that's what's messing things up :)
I tried to connect wayvnc with auth enable and it cant connect with wayvnc but other clients like bvnc can do. Hera a list of compatibility clients with wayvnc/neatvnc , and you can see how auth works in this vnc server in here
Thank you for what looks like a very promising app.
I use VNC to connect to localhost, which is launched by an Xvnc session inside a Fedora distro deployment via Termux : this allows to run (aarch64) Linux applications almost natively on Android.
My main interest is running note-taking apps not available for Android (mainly Xournal++ and Okular).
This is on a Galaxy Tab S6 Lite with S-Pen (capacitive touchscreen, + EMR layer for the S-Pen).
This works quite well with e.g. MultiVNC.
With avnc, the S-Pen actions are only partly registered :
IMO, the actual drawing/handwriting is done by registering e.g. left-mouse click while dragging.
Not sure whether this is the solution, but maybe [Left Click] actions should be attributable to "1 Finger Swipe" and/or "Drag (Long Press then Swipe)" ?
While zooming, The viewer does not follow where the cursor go. So this feature may be good to be added.
Currently, when using a stylus, the pointerdown
first point is not included in the stroke. This makes it difficult to use drawing apps on the host machine.
back
because it has no physical back button.Hello
There is no need for this comment in Persian anymore. Because you have modified the strings, no longer need to use directional control characters.
Hello,
I use your program and thank you for making this great software.
I would like to contribute to the translation of this program into my own language, how can I do this?
Do you use a translation service like weblate or transifex? Or I have to send the translations to this repository.
Good luck
Because if i enable drag gesture, then i can't tigger long press for mouse right click.
Could you please add per-connection quality and color-depth settings to the application?
@gujjwal00
add a discussion tab on the page avnc
Hi,
I have been using your great (!) app to highlight my pdf directly on my phone.
The only issue I noticed so far is that the remote content scrolling is super sensitive.
Could you consider either toning it down or making it user adjustable? If not, do you know of any workaround?
Anyway thanks a lot for this app :)
Ctrl+D
on a software keyboard does not send Ctrl+D
to the remote hostI'm using the Samsung Virtual Keyboard. As such, I understand if this can't easily be debugged/fixed!
AVNC 1.4.0, tigervncserver 1.11.0
AVNC 1.4.0
As the title, I was kicked out to home screen when I was trying to copy a file. I think this bug related to clipboard sync feature. I think it should only sync when clipboard is text format.
can you use OpenGL or Vulkan to render frame buffers to remove screen tearing and all laggy stuffs
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
or is It possible?
When I right click using physical mouse after running the server it acts as back button not as right click , Please solve this issue it will help me a lot.
Hello my friend @gujjwal00 . I've already made some suggestions on the translation site, but I don't know how it works. Here are some suggestions for errors and incomplete translations! I'm glad to be able to help with your magnificent app.
Follow System Theme = Seguir Tema do Sistema
Dark = Modo Escuro
Light = Modo Claro
Start = Início
End = Final
In Brazilian Portuguese we do not have an equivalent term for "Picture-in-Picture" so they are used the same in English and we do not translate the expression. So the correct one is "Picture-in-Picture" and not "Picture-in-Picture".
Hide Local (Android) Cursor = Ocultar Cursor do Android
Clear = Limpar
Full Immersive mode = Modo totalmente imersivo
Hides all system Bars... = Oculta todas as barras do sistema no modo tela cheia
Hi, based on what I've read in RFC 7869 I thought I could run something like this (via activity manager), but the app doesn't recognize the connection name and instead displays a login window:
am start -d vnc://host:port?ConnectionName=name
Supplying the username and password also doesn't work as it still asks for login information:
am start -d vnc://host:port?VncUsername=user&VncPassword=pass
am start -d vnc://host:port?ConnectionName=name&VncUsername=user&VncPassword=pass
Is the VNC URI scheme not supported? Ideally I'd like to just use the name of the connection that is already stored and the rest to be handled by the app. Can it be done?
By the way, it would be a useful feature if you allowed to create connection shortcuts on the homescreen like some SSH clients do (one example would be the app called Termius).
Hi @gujjwal00 ,
Question: Since fingerprint auth is already a part of the app for server export, is it on the roadmap to use fingerprint auth for opening the app?
Hi, thanks for the app . I was testing it but I have problems with my s-pen on my tablet, the pointer in avnc does nit follow the pen. I have played with the input settings but still no fix. I am using version 1.0.1 from f-droid. But I see here that you are in version 1.3.0. But no apk is available. Could you please make then available or put the latest version in f-droid? thanks!
Nice interface , clear resulation and smoothness a combination in my opinion its better than other vnc client apps. But in zoomed screen as i move the cursor the screen doesn't move (as it does in realvnc app). Guess its under development .Expect the feature in near future.
Hello,
Thank you for the great VNC client app... I love the VNC/SSH integration. I'm using it with TightVNC & OpenSSH.
I looked for a donation link on F-Droid, the app itself, and here on GitHub and couldn't find a donation link. I always try to "buy a coffee" as a thank you and to help development.
An odd request I'm sure, but when using the app via fdroid on a fire tv the virtual keyboard doesn't come up for the password field.
Version: The latest from F-Droid as of now (1.2.0) on Android 10
How to recreate from scratch:
Run Ubuntu chrooted through Termux (using AnLinux for the installation).
Also use AnLinux to install XFCE. Run ./start-ubuntu.sh
and vncserver-start
. Connect AVNC to 127.0.0.1:1.
In XFCE's Keyboard settings, the "Use system defaults" option is ticked.
Other (maybe useful) info:
setxkbmap pt
prints out XKB extension not present on :1.0
, what I expected after reading the AVNC code's documentationProblem:
When using the onscreen keyboard (brought up by swiping from the left and pressing the keyboard button), I can input all characters, including the ones with diacritics.
When using a Bluetooth keyboard, the layout on my keyboard (PT-pt) and the text input match perfectly. The problem comes up when I try to input an accented character. I press the acute accent key (and release it), then I press the key of the letter (á -> ´ + a). Only the letter is registered.
I used an online keyboard tester tool (https://www.keyboardtester.com/tester.html) and, when I clicked on the accent, no key presses at all were registered. When I pressed the letter, only it was registered.
What I tried to do to fix the problem:
Came complaining to the issues tab (just kidding). I tried reading the source code to see if, by any chance, I could quickly fix the problem or at least know what was happening. By the way, I have to congratulate you on the excellent documentation! The issue is probably in KeyHandler.kt.
My best "Android" development experience has been Cordova, so take my guess of what is happening with a big pile of salt: When I press ´ and the the letter, two events are triggered, of which only the second is being considered valid and is emitted. Though, when I use the onscreen keyboard, only one event is triggered (á).
Other:
There can be three events that result in a single chacater: Shift + ´ + a = à (in PT-pt layout). There might be other languages where there can be more events, even letters with two or more diacritics. These are notes to make sure any eventual fix of this problem in the code doesn't just fix this specific issue with two events, when there can be more.
First of all, thank you for the great app. Especially the built-in SSH tunneling is extremely useful.
In my opinion it would be very useful to be able to set the remote display resolution in the app. I think at the moment the default server resolution is used which leads to impractical scrolling due to the server's default landscape orientation.
Thank you again!
Replace loading logo in discovery tab with animated logo for indicating a background process of discovery is ongoing.
A still logo while an ongoing background process looks weired to end user, replacing loading logo with loading gif or some othere kind of visuals will look nice.
Hi,
When using your app, I sometimes have to click the cross at the top right corner of the remote app window to close it.
I sat minimum zoom to 70% and was under the impression that the best way to close an app with my fat fingers would be to zoom in, then pan to the corner until the corner of the window is roughly in the middle of the screen, making it easier to reach.
But with the current implementation, panning does not allow to go "over the edge" of the window, making this strategy useless.
The end result is that I think that expected behavior of minimum zoom would allow to pan over the edge, to make sure that edge of screen remote event are not on the edge of the screen of the android phone, making them easier to click on.
I'll let you decide if you think this deserves a change.
Thanks for reading!
Cant connect to pi change all auth on advanced settings but shows same issue disconnected error
First of all great app, I must say that this is the best VNC experience I've had yet on Andriod!
The integrated SSH tunnel is a great feature. However I noticed that there is no place to specify particular port forwards. How does this work? Does AVNC assume that you want to forward the same remote port as the local port that you specific in AVNC?
Some users may want to be able to forward remote port X to local port Y. Maybe this functionality could be enabled in settings somewhere? Or maybe I am overlooking it?
Thank you and great work!
please add trackpad mode, its hard to operating with direct touch..
Greetings @gujjwal00 . Once again, thank you very much for your commitment to the community. I did the test with the samsung trackpad (keyboard cover). Single click and double click working perfectly. The movement too.
Mistake
I cannot scroll to move up or down a content.
What happens?
When you try to scroll with two fingers on the trackpad, what happens is a navigation through the elements of the screen without the pointer moving.
Originally posted by @zequinh4 in #5 (comment)
I'm currently using wayvnc (latest commit) with sway (v1.6-ish), and I can only access it via bVNC, but not AVNC.
Edit: note that I'm also using Tailscale to access it remotely, though I don't think that connecting via a VPN like this would cause any issue.
Currently, when using AVNC with an external physical keyboard, the Alt+Tab keyboard sequence is captured by the phone (client) and not by the remote machine (the VNC server).
While this behavior is desired in some cases, in other cases it gets in the way of seamless remote work. For example, when using AVNC with Samsung DeX, the Alt+Tab sequence triggers the DeX app switcher instead of the app switcher in the remote machine. This gets in the way of working smoothly with the remote machine.
Perhaps a more general option to toggle capturing special keys (Alt+Tab, Alt+Shift, WinKey, WinKey+Tab, WinKey+E, etc.) remolty or locally is the best solution for this issue.
Thanks for your great app.
Hello,
I have noticed that the remote cursor disappears and reappears randomly when using the client. If the mouse is moved on the remote machine, the cursor appears all the time as normal.
However, even though the remote cursor disappears, the touch points are still correct and I can see on the remote machine monitor that it is actually moving correctly.
I have tried enabling mouse keys and I'm on the local LAN so bandwidth wouldn't be an issue which didn't make a difference.
TightVNC server 2.8.63 for Windows
Windows 10
Thank you
Hi,
Just figured it might be a good new feature, in case you had not thought of it.
Have a nice day!
Hello my friend @gujjwal00 . Sorry to message you here. I still don't quite understand how translations work. Below are some translations of the new content added. Hugs.
Default Security = Segurança Padrão
None = Nenhuma
Direct Touch = Toque direto
Do actions at touch-point = Faça ações diretas com o toque na tela
Do actions at point = O toque na tela controla o cursor
Autorun = Executar automaticamente
Discover servers while on homepage = Descubra automaticamente servidores enquanto estiver na página inicial
Hightlisht rediscovered servers = Destaque servidores redescobertos
The correct one for fullscreen translation is: "Usar tela cheia" and not: "Usar tela completa"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.