Jump to content

Linux Internet Cafe Administrator Programs


rishi

Recommended Posts

Hi,

I run an Internet cafe, which I'm trying to make purely Linux based. After having a hard time making Suse 9.3 as MS-Windows like as possible - mainly by removing as many options as possible from the standard user's GUI - I have one big problem: How the heck am I supposed to start/stop the clients from my server and figure out how much to charge my customers without buying a stop-watch for each computer and manually keep track of things?

I've googled the subject, but all I've found is a couple of working, but very rudimentary progs, between the plentitude of old projects, that apparently still await the proper time to get into action.

Does any of you devoted Linuxer's ever had stumbled over an advancedly developed linux-based Internet cafe administration program? I don't mind paying for a commercial product, but the ultimate ideal would be that web-browser based java/jsp-open source thing that is the most advanced on the market.

Link to comment
Share on other sites

hi'

if my memory is not too tired ...

devellopers made a small prog to control the network traffic,, and it had the ability to either close the general connection as well as per machine access.

but this was when we began to hear about nmap ... sometime ago ...

other way, is to control all from the routeur ...

or an equivalent to wingate for Linux :o

francois

Link to comment
Share on other sites

  • 2 weeks later...

Rishi, a traditional Linux/Unix system doesn't involve pay-per-use so there are not a great deal of standard practices here. Can you do post-paid charging of users, or do you need to enforce pre-paid limits?

There are plenty of accounting solutions to determine after the fact how much was used by a regular "subscriber"; you could give each one a unique login account name and password and use system logs to determine how long they were signed on. There are process-accounting systems to get more detail if you want to charge by the amount of CPU used, but I am guessing you just want to know how long they were logged in at the console.

The only traditional allocation systems for Unix (besides disk quota) are in the batch-queueing area. Many job schedulers can manage a "balance" of computer units (hours, cpu-minutes, what-have-you). However, there would be a lot of spit and bailing wire to somehow use that with desktop logins. There are also ISP packages for billing minutes online for "PPP subscribers" but that too would be awkward to map to logins.

Do you just give web access, or do you support running local programs and/or local storage? What happens when someone's credits run out (if you are going pre-paid)? Do you want them to lose what they are working on, come pay you extra by honor system, or have the screen locked temporarily until they pay?

Given unique account names and some tracking, it wouldn't be difficult to access the workstations remotely via your priveleged server (via ssh) and run scripts to change the password and lock their screen. They would have to come pay for more access to get the password set to some new value they can use to unlock it. This presumes that you have some basic accounting solution hooked into the system and screensaver logs to note on the server when users login, get their screens locked, etc.

I do not run a cafe and so cannot suggest any turn-key software for this. Any sysadmin/contractor worth his salt could probably hack up the basic logging, payment/balance/usage accounting, and access enforcement I am describing here in a week or two. The big question mark is how much "sugar" you need on the backend to make accounting and management easy for a non-technical staff person. I assume there are not really any significant regulatory requirements you would have to follow here in Thailand. The actual money handling, taxation, and receipts would be a separate point-of-sale issue.

Link to comment
Share on other sites

Wow ... this definately is a forum of the kind, where one is free to ask any (linux-related) question and then get the proper answer (with some of its variations) plus a number of formerly unknown options.

Well, since I happen to be the one and very only OP of this thread - I'll take the liberty to sum up my personal feeling of the usefullness of this thread (well knowing that you guys are too good to feel offended by some linux-newbie, who doesn't comprehend the finer details).

1) I did check Wallalai's link --- but I don't write, read or speak French (and have no intention to learn it).

2) I don't know what francois is talking about --- its probably very clever, though.

3) linuxfan and johng link me to some programs, which probably will be excellent for some other kind of business than mine - but to me... besides shooting sparrows with canons ... they also require my customers to perform some login tasks --- not quite reasonable for someone who merely walks in from the street and want to check his email... whereafter he is off to the street again.

4) almog_thai, I can't help you --- IMHO, your problem is more existential than which OS to run.

5) autonomous_unit... thanks a lot for your considerate replies... They provide me with clues on what I better take into my (future) considerations... For the time being ... what would be the easiest (let it be amateuorish) shortcut to handle exactly this situation?

1) "Someone" walks into your shop and looks like he'd like some Internet.

2) You wave your hand and say: "Any computer".

3) "Someone" (from item 1) sits down in front of an arbitrary computer.

4) By means of a simple click on your mouse or keyboard, you start a session on that computer (without bothering "someone" in any way at all).

5) When "someone" looks like he is done and approaches the counter, you terminate the session, - again with just a click on your keyboard or mousebutton.

6) You cast a glimpse on the window/message box resulting from the click in item 5).

7) You announce the amount, - appearing in the window/message box from item 6, - the culprit pays the announced amount and leaves ... and evething's ready to repeat procedures from step 1).

I'm sort of convinced that the linux communities still haven't got beyond the point of competing with each other, who might make the better OS (capable of handling the most usual stuff) --- whatever kind of speciality program one or other guy might wish --- are still relegated to an unknown future... (wouldn't mind to get corrected, though).

Link to comment
Share on other sites

Guest endure

One of your competitors who's across the road from Kad Suan Kaew uses a simple paper ticket system that seems to work very well. It depends on the fact that there are at least two employees in the shop. Might be worth your having a look.

Link to comment
Share on other sites

Hi Rishi,

Your solution isint too difficult.

For windows such solutions already exist, even if one was to reinvent the wheel, development of this simple solution wont cost over $200 (should be easier/cheaper in Linux).

You can aproach some freelancing sites like rentacoder, the discription you have mentioned here is good enough for a bid request. Sounds to me like a simple client-server solution. the server inform the client when to 'freeze' and 'unfreeze' and the app on the client shows a blank screen with a message accordingly....sounds easy...but i got no clue abt the Linux world...but these things should definately be easier than doing on M$

Link to comment
Share on other sites

1) I did check Wallalai's link --- but I don't write, read or speak French (and have no intention to learn it).

Do you really think that you need to learn french to contact these people ? I'm 100% sure that they can speak english too. I cannot imagine a linux user without some basic english skills as most of the websites , docs and HOWTO's are in english.

Link to comment
Share on other sites

Rishi, the easiest way I can imagine for you to do what you described above is to learn how "startx" works. From your control workstation, your staff person can launch a script on a specific customer system (via ssh) that runs startx to launch the graphical session as some "guest" Linux user account. This is the best way to give completely generic session access to users who do not want to be bothered with login details.

The script can get the current time before and after the session and calculate the run time. I suggest using the aptly named "date" command for this purpose. :o With the right options, you can get it to print the current date as a really big integer that is the number of seconds since 1970 or something like that. Do this twice, and you can subtract one from the other to know the total number of seconds elapsed. This is an idiomatic thing to do in simple shell scripts.

You just need to learn how to cause startx to run your preferred graphical session, unless of course it gives you that by default with your chosen Linux distribution. (Sometimes, they give you a very basic old-fashioned session from startx.)

A separate script could also be run via ssh to kill the session. It will also end if the user chooses logout from the windowing system menus.

If you do not know how to write shell scripts, you can probably hire a student or consultant to do it for you. It would take very little to flesh out this particular scenario, since you are leaving most of the accounting work to the human staff anyway.

For extra niceties, you could have the script delete/recreate the guest account directory structure before running startx each time, to make sure each session is relatively pristine.

Link to comment
Share on other sites

  • 3 weeks later...
For the time being ... what would be the easiest (let it be amateuorish) shortcut to handle exactly this situation?

1) "Someone" walks into your shop and looks like he'd like some Internet.

2) You wave your hand and say: "Any computer".

3) "Someone" (from item 1) sits down in front of an arbitrary computer.

4) By means of a simple click on your mouse or keyboard, you start a session on that computer (without bothering "someone" in any way at all).

5) When "someone" looks like he is done and approaches the counter, you terminate the session, - again with just a click on your keyboard or mousebutton.

6) You cast a glimpse on the window/message box resulting from the click in item 5).

7) You announce the amount, - appearing in the window/message box from item 6, - the culprit pays the announced amount and leaves ... and evething's ready to repeat procedures from step 1).

I'm sort of convinced that the linux communities still haven't got beyond the point of competing with each other, who might make the better OS (capable of handling the most usual stuff) --- whatever kind of speciality program one or other guy might wish --- are still relegated to an unknown future... (wouldn't mind to get corrected, though).

This is too easy. Use a stopwatch!

You don't mention anything about needing to "freeze" or "unfreeze" the computers, and if all computers are in sight, why bother with it.

I made a small webinterface that allowed me to click on a button to start (write a record in a database with a current time). And a button stop (update the record with curent time and show the time difference, calculate amount)

For each computer a button. Later i added a button for registering sales of drinks and snacks.

This will create a valuable database with all the data needed to make graphs to see busy periods, make balances etc..

Al the solutions i found went wrong after freezing and unfreezing a computer several times. This was such a bother i just dumped the whole idea of using a program to control the computers.

I installed a TightVNC server on all machines. This allowed me to close sessions, logout customers from programs, which they often forget.

Another solution i came up with (but did not implement) which is the most easy way to accomplish this is to use a coin operated time switch. With a buzzer/light to warn when time is almost up.

Place the switch between the computer and the monitor.

I have read some information about IButton. This can also be a good solution to track someones computer use. These IButtons are a kind of identifier inside a small metallic "coin". On the computer you mount a IButton reader. Each iButton has a unique identifier. Once a customer inserts this IButton inside the reader you retrieve the ID and store it. When the customer is ready he takes the iButton with him and gives it back to the operator. At the operators computer you insert this ibutton and call up this buttons start and end time. It is similar as using smartcards but the ibuttons are practicly indestructable.

There are so many ways to make this work.....

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...
Another solution i came up with (but did not implement) which is the most easy way to accomplish this is to use a coin operated time switch. With a buzzer/light to warn when time is almost up.

Place the switch between the computer and the monitor.

Many of the internet cafes in Bangkok's Khao San Rd area are switching over to this. The time switch cuts off the power to the monitor. Seems to work smoothly.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.



×
×
  • Create New...